0

我正在创建一个主题,我希望用户能够使用简码。
现在它输出[the_shortcode],我想我知道为什么但不知道如何解决它。

我不是以传统方式加载页面内容。最好的方法是加载the_content()函数。但是我的模板的设计方式是根据页面层次结构中的位置加载内容。

所以父母和孩子的眼光是不一样的。

为此,我使用 foreach 循环加载内容并回显$grandchild->post_title。该页面是父母的孙子。

根据互联网,现在解决此问题的方法是使用该apply_filters()功能。
该函数需要两个参数,我不知道如何填充它们:

function apply_filters( $tag, $value )

这是我的简码功能:

function output_function(){
    return 'Knees weak, arms are heavy';
}
add_shortcode('output', 'output_function');

短代码放置在这样的页面帖子中:['output']

关于如何通过过滤器输出页面内容的任何想法?

4

1 回答 1

2

你想要的是the_content

$content = 'some string that has a [output] shortcode';
echo apply_filters('the_content', $content);

此过滤器将确保所有$content内容都像 WordPress 编辑器一样进行解析。
一样一样the_content()

于 2018-05-07T14:04:52.217 回答