Arregla el problema de sitios web con problemas técnicos que pierden soporte para shortcodes en las plantillas tras actualizar a la versión 6.2.1 de WordPress.
Debe añadirse el siguiente código como un plugin en un archivo PHP en la carpeta de plugins:
<?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);