短代码可以返回自己的名称吗?

时间:2015-12-04 作者:ScottS

假设有某个函数或变量允许短代码访问其名称,为了方便起见,这里我将称之为$scName, 有没有可能这样:

function test_return_shortcode_name( $atts ) {
    return $scName;
}
add_shortcode( \'myName\', \'test_return_shortcode_name\' );
因此,对于这个基本示例,这个短代码:

[myName]
将实际名称作为文本返回

myName
是否存在这样的功能,可以从与其关联的功能中访问指定的名称?

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

短代码可以访问自己的名称-它作为短代码回调函数的第三个参数提供,如下所示:

function test_shortcode_callback( $atts = array(), $content = null, $tag ) {
    return $tag;
}
add_shortcode( \'test_shortcode\', \'test_shortcode_callback\' );

// So running this shortcode
[test_shortcode]
// Will return this
test_shortcode

相关推荐

Namespaced shortcode?

我正在改造一个旧的WP站点,该站点有许多自定义的短代码,显然由于代码当前的组织方式,这些短代码在性能方面付出了代价。当然,我可以修复优化不好的代码,使用十几个短代码,并且一天就可以完成,但我想知道如何更好地组织它们。根据WordPress\'documentation, 建议将它们放在插件中并在上初始化init. 我们可以通过这样“命名”它们来减少这个钩子中的负载吗?[com.company shortcode attr=\"attr\" prop=\"prop\"] 有人尝试过这样的解决方案吗