从管理文本区域到页面的快捷码

时间:2014-10-17 作者:piggypig

我已经通过Wordpress管理员中的自定义文本区域向页面添加了短代码,但短代码被视为文本并用引号括起来,因此不起作用。

enter image description here

这就是我清理输入的基本方法:

if( isset( $input[\'textarea_input\'] ) )
        $new_input[\'textarea_input\'] = sanitize_text_field( $input[\'textarea_input\'] );
这是我在页面上输出它的方式:

<?php echo $options[\'textarea_input\']; ?>
do\\u shortcode不会更改任何内容

<?php echo do_shortcode($options[\'textarea_input\']); ?>
我的猜测是Wordpress TinyMCE编辑器可以识别短代码,因此它可以工作。因为我的是通过一个隐藏的文本区域添加的,所以它只是被视为纯文本。这里出了什么问题?

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

在您的权限范围内,Wordpress编辑器通过一个名为“\\u content”的过滤器保存内容。此筛选器用于在从数据库检索帖子后,以及在将其打印到屏幕之前过滤帖子的内容。应用此筛选器以模拟TinyMCE格式。

<?php echo apply_filters( \'the_content\', $options[\'textarea_input\']); ?>

结束