【问题标题】:Reusable Custom WordPress Meta Boxes可重复使用的自定义 WordPress 元框
【发布时间】:2014-08-25 20:53:59
【问题描述】:

我正在使用Reusable Custom WordPress Meta Boxes 为我的主题添加自定义元框。

其中一个要求是我在 metabox 中有所见即所得的编辑器。

得到那个东西的部分代码是:

array(
        'label' => __('Availability content'),
        'desc'  => __('Some desc'),
        'id'    => 'availability_text',
        'type'  => 'editor'
    ),  

现在,当我保存帖子时,metabox 中的信息已保存但未格式化,编辑器中的图像丢失

为什么会发生这种情况以及如何解决?

我注意到它会删除格式,去除p <br> h1 标签等

【问题讨论】:

  • 能否将您保存到其中的内容分享给我,以便我重现该问题?
  • 您的内容在默认的帖子编辑器中工作正常吗?
  • @VinodDalvi 是的,它在后期编辑器中运行良好。我要保存的内容是格式化的文本(标题、段落标签和图像)。此外,我尝试使用 WYSIWYG 编辑器构建自己的元框,它工作正常,这让我得出结论,从 github.com/tammyhart/Reusable-Custom-WordPress-Meta-Boxes 保存自定义元框存在问题

标签: php wordpress meta-boxes


【解决方案1】:

问题在于 meta_box_sanitize 函数,位于 https://github.com/tammyhart/Reusable-Custom-WordPress-Meta-Boxes/blob/master/metaboxes/meta_box.php,第 333-355 行。

我换了:

default:
return sanitize_text_field( $string );

default:
return wp_kses_post( $string );

而且它有效!

刚刚发现它也可以这样工作:

array(
        'label' => __('Availability content'),
        'desc'  => __('Some desc'),
        'id'    => 'availability_text',
        'type'  => 'editor',
        'sanitizer' => array( // array of sanitizers with matching kets to next array
            'type' => 'wp_kses_post'
        ),
), 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    相关资源
    最近更新 更多