2014-10-17 113 views
0

我已经通过我的Wordpress管理中的自定义文本区域将短代码添加到页面,但短代码被视为文本并被引号包裹,因此它不起作用。从文本区域插入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_shortcode不会改变任何东西

<?php echo do_shortcode($options['textarea_input']); ?> 

我的猜测是Wordpress TinyMCE编辑器可以识别简码,因此它可以工作。由于我是通过隐藏文本区域添加的,因此它仅被视为纯文本。 TinyMCE编辑器我没有做什么?我不想

+0

你呼应的字符串。我认为你正在寻找[do_shortcode()](http://codex.wordpress.org/Function_Reference/do_shortcode) – rnevius 2014-10-17 14:07:25

+0

谢谢@rnevius,do_shortcode()不起作用。我已经更新了我的答案。 – piggypig 2014-10-17 14:15:19

回答

1

你的权利,WordPress的编辑器通过名为the_content的过滤器保存内容。该过滤器用于过滤从数据库中检索并在打印到屏幕之前的帖子内容。应用此过滤器来模拟TinyMCE格式。

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