可重复使用的自定义WordPress元数据盒

时间:2014-07-04 13:36:34

标签: php wordpress meta-boxes

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

其中一个要求是我在metabox中有WYSIWYG编辑器。

获得该东西的部分代码是:

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

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

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

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

1 个答案:

答案 0 :(得分:2)

问题在于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'
        ),
),