Actualización de plugin de WordPress daña el sitio (2.4.6 --> 2.4.7 y 2.4.8)

Tengo el plugin WP-Discourse funcionando en una instalación multisitio de WordPress. Dos sitios dentro de la red lo utilizan para SSO (inicio de sesión único) para dos sitios diferentes de Discourse. Otros sitios de la red no utilizan el plugin. Funciona bien hasta la versión 2.4.6, pero a partir de ahí provoca un error crítico en toda la red. Después de que fallara la actualización 2.4.7, esperé a la siguiente versión para intentarlo de nuevo, pero el problema es el mismo.

La red está ejecutando WordPress 5.4.1 y PHP 5.6.40. Menciono esto porque sé que ambas son versiones antiguas, pero hay razones por las que no podemos actualizarlas.

¿Qué necesito hacer para solucionar esto? Agradezco cualquier indicación o consejo.

1 me gusta

¿Puedes explicar ese error?

Fin de vida útil hace más de 4 años…

3 Me gusta

¿Las hay? Muy a menudo eso significa lo mismo que al menos un plugin personalizado abandonado. Entonces, tu verdadero problema no es WP-Discourse, una versión PHP antigua y rota o un WordPress con fugas; deberías solucionar lo antes posible la razón por la que usas versiones demasiado antiguas.

2 Me gusta

Quiero decir, no estoy orgulloso de ello, pero hay temas en uso en la red multisitio que no se pueden actualizar y que se rompen cuando hemos intentado actualizar WordPress o PHP. Para que conste, nuestros sitios web que no son multisitio se mantienen actualizados, solo el multisitio es un desastre…

Tuve que restaurar rápidamente la versión 2.4.6 del plugin para arreglar el sitio, así que no tengo muchos detalles. Veré si puedo reproducir el problema brevemente con el registro activado.

Aquí están todos los errores y advertencias relevantes:

[06-Jan-2023 18:11:10 UTC] PHP Fatal error:  Call to undefined function register_block_type_from_metadata() in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/blocks/comments/comments.php on line 46

[06-Jan-2023 18:11:10 UTC] PHP Fatal error:  Call to undefined function register_block_type_from_metadata() in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/blocks/comments/comments.php on line 46

[06-Jan-2023 18:11:12 UTC] PHP Fatal error:  Call to undefined function register_block_type_from_metadata() in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/blocks/comments/comments.php on line 46

[06-Jan-2023 18:11:12 UTC] PHP Fatal error:  Call to undefined function register_block_type_from_metadata() in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/blocks/comments/comments.php on line 46

[06-Jan-2023 18:11:14 UTC] PHP Fatal error:  Call to undefined function register_block_type_from_metadata() in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/blocks/comments/comments.php on line 46
[06-Jan-2023 18:11:32 UTC] PHP Fatal error:  Class 'WPDiscourse\\DiscourseComment\\DiscourseComment' not found in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/wp-discourse.php on line 70

[06-Jan-2023 18:11:32 UTC] PHP Warning:  Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:32 UTC] PHP Warning:  Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:32 UTC] PHP Warning:  Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:32 UTC] PHP Warning:  Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:32 UTC] PHP Warning:  Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:32 UTC] PHP Warning:  Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:32 UTC] PHP Warning:  Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:32 UTC] PHP Warning:  Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37

[06-Jan-2023 18:11:33 UTC] PHP Warning:  Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:33 UTC] PHP Warning:  Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:33 UTC] PHP Warning:  Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:33 UTC] PHP Warning:  Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:33 UTC] PHP Warning:  Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:33 UTC] PHP Warning:  Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:33 UTC] PHP Warning:  Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
[06-Jan-2023 18:11:33 UTC] PHP Warning:  Missing argument 2 for WPDiscourse\\Logs\\Logger::create(), called in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/discourse-base.php on line 62 and defined in /var/www/vhosts/groups.ismrm.org/httpdocs/wp-content/plugins/wp-discourse/lib/logs/logger.php on line 37
1 me gusta

No sé nada, pero he visto errores muy similares en WordPress cuando PHP es demasiado antiguo (o demasiado nuevo, eso también es un problema de vez en cuando).

Esa función se introdujo en WordPress 5.5.0, así que ahí lo tienes. WordPress 5.5 tiene más de 2 años y medio. Deberías abordar las “razones” que te impiden actualizar y actualizar WordPress (y PHP).

O el plugin o el tema de WordPress se romperán, y el tema es el que no funciona en un WordPress actual. Así que, para ser franco, este es un problema del tema y no del plugin WP Discourse.

3 Me gusta

Si ese es el caso, y no hay intención de hacerlo retrocompatible como antes, entonces la página del plugin WP-Discourse debe actualizarse para indicar “Requiere Versión de WordPress: 5.5 o superior”. Actualmente indica “4.7 o superior”.

2 Me gusta

No sé qué tema de WP usas, pero a veces (lo he vivido), hacer que un tema sea compatible con PHP 7+ es cuestión de unas pocas líneas de código para arreglarlo.