Le code suivant permet l'analyse de shortcode pour le widget 'texte':
add_filter('widget_text', 'do_shortcode');
Comment faire un semblable pour un widget personnalisé?
J'ai essayé le suivant mais cela n'a pas fonctionné:
add_filter('widget_CUSTOM_WIDGET_NAME', 'do_shortcode');
Vous pouvez essayer ce qui suit:
/**
* Only allow shortcodes for a widget with a given title.
*
* @see http://wordpress.stackexchange.com/a/160246/26350
*/
function wpse_widget_shortcode( $text, $instance )
{
// Only allow shortcodes for the widget with the following title:
$title = 'Some Title';
remove_filter( current_filter(), __FUNCTION__ );
if( isset( $instance['title'] )
&& mb_strtolower( $title ) === $instance['title']
)
$text = do_shortcode( $text );
return $text;
}
add_filter( 'widget_text', 'wpse_widget_shortcode', 99, 2 );
où nous ciblons le widget donné par son titre.