Los shortcodes en plantillas han dejado de funcionar en muchas webs tras la última update de wordpress.
Esto es debido a que esta versión de WordPress actualiza un ajuste de seguridad que no permite ejecutar shortcodes desde las plantillas.
Solución al problema de shortcodes en WordPress 6.2.1
Una solución sería hacer rollback a la 6.1.2, que corrige las vulnerabilidades pero parece no afectar a los shortcodes. Con el plugin WP Downgrade puedes.
Ojo, esta solución es un parche temporal, no puedes pretender no volver a actualizar tu WordPress.
Otra solución sería utilizar el siguiente código, por @andergmartins, compartido aquí:
<?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);
Puedes copiarlo en el código con el plugin Code Snippets, o copiarlo en un archivo de texto guardado como php y subiéndolo a la carpeta plugins de tu WordPress desde los archivos, y activándolo como cualquier otro plugin.
Fuente: https://wordpress.org/support/topic/wordpress-v6-2-1-breaks-the-shortcode-block-in-templates/