允许自定义小组件的快捷码

时间:2014-09-05 作者:Ahmed Saad

以下代码允许对“文本”小部件进行短代码分析:

add_filter(\'widget_text\', \'do_shortcode\');
如何为自定义小部件创建类似的小部件?

我尝试了以下方法,但没有成功:

add_filter(\'widget_CUSTOM_WIDGET_NAME\', \'do_shortcode\');

1 个回复
最合适的回答,由SO网友:birgire 整理而成

您可以尝试以下操作:

/**
 * 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 );
在这里,我们通过标题来定位给定的小部件。

结束

相关推荐

Basic do shortcodes question

我使用WordPress codex页面进行编码。正如您所看到的,我有两个PHP代码。页面能够获得代码的值,但它不遵守CSS规则,我相信这是因为我以错误的方式插入了PHP代码。您能看一下下面的代码并提出问题所在吗?<?php echo do_shortcode(\'[groups_non_member group=\"VPS\"]\' .\"<p class=\'vod-time-price\'>\" . the_field(\'run_t\') . \"MIN | $\". the