【问题标题】:Strip quotation marks from Wordpress shortcode inserted by text area从文本区域插入的 Wordpress 短代码中去除引号
【发布时间】:2014-12-13 02:57:46
【问题描述】:

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

这基本上是我清理输入的方式:

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 编辑器我没有做什么?我不想

【问题讨论】:

  • 您正在回显一个字符串。我想你正在寻找do_shortcode()
  • 谢谢@rnevius,do_shortcode() 不起作用。我已经更新了我的答案。

标签: php wordpress shortcode


【解决方案1】:

您说得对,Wordpress 编辑器通过名为the_content 的过滤器保存内容。此过滤器用于在从数据库检索到帖子后,在将其打印到屏幕之前过滤帖子的内容。应用此过滤器来模拟 TinyMCE 格式。

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

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-05
    相关资源
    最近更新 更多