WP_EDITOR不呈现快捷代码

时间:2019-04-19 作者:vipworks

我已经创建了一个选项页面,并在其中添加了wp编辑器输入。在渲染其输出时,它不会渲染添加到其中的短代码的输出。它只是将短代码呈现为文本。

谁能告诉我我做错了什么?下面是我用来获取输出的代码:

echo stripslashes( html_entity_decode(get_option(\'home_header_description\')
我已经试过把它包起来了do_shortcode(). 但我的短代码是:

[show_more more=Read_more less=Read_less]
Lorem ipsum.........
[/show_more]
它主要用于在初始加载时隐藏文本,并在单击“阅读更多”时显示文本,然后在单击“阅读更少”时再次隐藏文本。

使用时do_shortcode 它输出的是,它只是隐藏文本,然后在单击“阅读更多”时不显示文本。

1 个回复
SO网友:cjbj

您必须显式地向文本字段添加快捷码求值,才能使其工作。默认情况下,它仅为the_contentthe_excerpt. 如果你看看source of the first one 您可以看到这一行:

$content = apply_filters( \'the_content\', $content );
default filters 这是一个:

add_filter( \'the_content\', \'do_shortcode\', 11 ); // AFTER wpautop()
因此,要使短代码在您的情况下起作用,您必须修改文本的回显部分,以首先应用过滤器。然后你做do_shortcode 应用的过滤器之一。

相关推荐

redirect if shortcode exists

WordPress初学者。我试图检查用户请求的页面中是否存在短代码,如果存在,则在用户未登录时重定向。function redirect_to_home() { if (has_shortcode(get_the_content(), \'shortcode\')) { if(!is_admin() && !is_user_logged_in()) { //redirect exit(); }