为什么我的短码不起作用

时间:2015-11-12 作者:MrJoshFisher

我正在为我的wordpress站点制作一个自定义的短代码,我正在运行wordpress的短代码api中的示例:

function myshortcode() {

$atts = shortcode_atts(
    array(
        \'custom_title\' => \'Your Title\',
        \'custom_message\' => \'Your Message\',
    ), $atts);

    return \'Test: \' . $atts[\'custom_title\'] . \' \' . $atts[\'custom_message\'];

}

add_shortcode(\'my-short\',\'myshortcode\');
我博客中的短代码是:

[my-short custom_title="Test" custom_message="123 Roman Ridge"]
但它输出

Test: Your Title Your Message
在我的博客里除了短代码没有其他内容,有什么建议吗?

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

请注意函数定义中的以下行:

function myshortcode() {
缺少输入参数$atts$content 因此,这就是为什么您只获得默认属性值。

替换为:

function myshortcode( $atts = [], $content = \'\' ) {

相关推荐

Namespaced shortcode?

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