Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

WordPress 6.2.1 ha roto mi web → Soluciones

Si actualizaste a WordPress 6.2.1, una actualización de seguridad y mantenimiento, y se ha roto tu web, foros o red social, o no se muestra parte de tus páginas es muy probable que sea debido a esta versión de WordPress incorpora un ajuste de seguridad que impide que se ejecuten shortcodes desde plantillas.

Esto está provocando no pocos problemas a montones de sitios WordPress que usan plugins como bbPress, con montones de shortcodes en las plantillas, y sobre todo a webs personalizadas mediante shortcodes, uno de los métodos más empleados en WordPress para realizar funciones complejas de manera sencilla.

Si te ha pasado algo de esto, y tienes claro que es debido a esta actualización, puedes aplicar una de estas 2 posibles soluciones:

  1. Volver a la versión anterior de WordPress, y esperar un parche que solucione este problema, posiblemente en una nueva actualización.
  2. Usar el siguiente código, compartido en el Trac por Anderson Martins, creando un plugin con él, para poder tener WordPress 6.2.1 pero manteniendo la compatibilidad con shortcodes en plantillas…
<?php
/*
Plugin Name: Fix shortcode
Plugin URI:
Description: Restore shortcode support on block templates
Author: Anderson Martins
Version: 0.1.0
*/

add_filter('render_block_data', function($parsed_block) {
if (isset($parsed_block['innerContent'])) {
foreach ($parsed_block['innerContent'] as &$innerContent) {
if (empty($innerContent)) {
continue;
}

$innerContent = do_shortcode($innerContent);
}
}

if (isset($parsed_block['innerBlocks'])) {
foreach ($parsed_block['innerBlocks'] as $key => &$innerBlock) {
if (! empty($innerBlock['innerContent'])) {
foreach ($innerBlock['innerContent'] as &$innerContent) {
if (empty($innerContent)) {
continue;
}

$innerContent = do_shortcode($innerContent);
}
}
}
}

return $parsed_block;
}, 10, 1);

Si no te atreves o no sabes cómo crear un plugin con el código puedes descargarlo desde este enlace, que ya lo he creado yo y empaquetado en un zip, para instalar el plugin como cualquier otro.

Una vez instalado y activo no hay que hacer nada, solo comprobar que ya funciona tu web con normalidad, a pesar de haber actualizado a WordPress 6.2.1.

Nota: Esto que he compartido aquí son soluciones temporales, que no deberías mantener sino buscar otra solución permanente, pues podría suponer una vulnerabilidad para tu web.

El artículo WordPress 6.2.1 ha roto mi web → Soluciones lo publicó Fernando Tellado previamente en Ayuda WordPress. Lo que ves aquí es una copia de dicho contenido :/

Enregistrer un commentaire

0 Commentaires