以下のコードは 'text'ウィジェットのショートコード解析を可能にします。
add_filter('widget_text', 'do_shortcode');
カスタムウィジェット用に似たようなものを作るには?
私は以下の方法を試しましたが、うまくいきませんでした。
add_filter('widget_CUSTOM_WIDGET_NAME', 'do_shortcode');
あなたは以下を試すことができます:
/**
* 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 );
与えられたウィジェットをタイトルでターゲットにします。