仅显示短码括号中的内容

时间:2019-03-17 作者:Jon

我正在用旧主题的所有帖子中的短代码重写一个主题。我在所有文件中搜索了原始的shortcode函数,但没有得到任何结果。所以在普通主题中,页面打印

[shortcode dostuff]content here[/shortcode]
我正在尝试获取短代码以输出括号之间的内容,而无需编辑网站上的每个页面,因此该页面只显示:

content here
我可以用下面的代码删除短代码

function remove-shortcode() {   return \'\';}
但是,括号内的所有内容也会被删除,页面将是空白的。我尝试了函数remove-shortcode() {return the_content();} 页面崩溃。

什么公式将返回短代码括号内的内容?

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

我有个好消息:答案很简单。

这个WordPress Codex concerning Enclosing Shortcodes (就像你在这里发布的一样)显示了shortcode回调有2个参数,$atts$content. 你想与之合作$content:

function wporg_shortcode($atts = [], $content = null)
{
    // do something to $content

    // always return
    return $content;
}
add_shortcode(\'wporg\', \'wporg_shortcode\');

相关推荐

Namespaced shortcode?

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