如何在另一个标题标签中插入快捷代码?

时间:2017-03-20 作者:Desarrollo

//Shortcode which return a name
[get_name]
//A heading of the theme. I need text + shortcode in title=""
[dt_fancy_title title="My name: [get_name]"]
//I tried this but it doesn´t work
[dt_fancy_title title="My name: "][get_name][/dt_fancy_title]
我使用许多标题或其他具有不同标题的小部件。每个标题的文本都不同。

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

不,您不能这样做,因为title参数是作为字符串传递的。

根据你提供的信息,我想你的[dt_fancy_title] 短代码实际上并不执行短代码。

此函数的语法应为:

function dt_fancy_title_callback( $params, $content = null ) {

    // extract the title argument from the params, setting default value
    extract( shortcode_atts( array(
        \'title\' => \'default title\'
    ), $params ) );

    // execute your function, whatever it does

    // call for shortcodes to be executed within your shortcode
    $content = do_shortcode( $content );

    // return the content
    return $content;

}
add_shortcode( \'dt_fancy_title\', \'dt_fancy_title_callback\' );
如果您不拨打do_shortcode() 在回调函数中,内部的短代码文本将被解释为字符串。

相关推荐

获取AJAX调用的ShortCode属性

我想给我的插件传递一个可以访问文件的文件夹,这样我就可以运行多个设置了不同文件夹的实例。我的第一个想法是用文件夹名添加一个属性。因为我使用的是AJAX,所以我需要始终访问我的短代码的属性。我找到了这样一种解决方案,将属性传递给JS,然后在发生AJAX调用时将其传回:https://wordpress.stackexchange.com/a/184219我试过了,但没用。有没有更优雅的方法?以下是我的PHP文件的重要部分:add_action(\'init\', \'wporg_shortcodes_ini