我正在使用Reusable Custom WordPress Meta Boxes为我的主题添加自定义元框。
其中一个要求是我在metabox中有WYSIWYG编辑器。
获得该东西的部分代码是:
array(
'label' => __('Availability content'),
'desc' => __('Some desc'),
'id' => 'availability_text',
'type' => 'editor'
),
现在,当我保存帖子时,metabox中的信息已保存但未格式化且编辑器中的图片丢失。
为什么会发生这种情况以及如何解决?
我注意到它删除了格式,删除了p <br> h1
标签等
答案 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'
),
),