php - 使用get_post_meta在主题文件中渲染wp_editor输入

php - 使用get_post_meta在主题文件中渲染wp_editor输入,第1张

我有一个带有wp_editor的元框,而不是主内容编辑器。

    public function add_custom_meta_boxes() {
        add_meta_box(
            'ux_page_header',
            __( 'Page Header', 'ux' ),
            array($this, 'ux_render_page_header'),
            'page',
            'normal',
            'core'
        );
    }

    public function ux_render_page_header() {
        $page_header =  get_post_meta($_GET['post'], 'page_header' , true ) ;
        wp_editor( 
            htmlspecialchars_decode($page_header), 
            'ux_page_header', 
            $settings = array('textarea_name'=>'page_header') 
        );
    }

    public function ux_save_post_data($post_id) {

        if( !empty($_POST['page_header']) ) {
            $data = htmlspecialchars($_POST['page_header']);
            update_post_meta($post_id, 'page_header', $data );
        }
    }

但是当我检索这些数据时,它只打印html代码。如何渲染这个HTML?

$header = get_post_meta( get_the_ID(), 'page_header', true ); 
echo $header;

最佳答案:

1 个答案:

答案 0 :(得分:1)

当您在此处保存信息时:$data = htmlspecialchars($_POST['page_header']);数据使用htmlspecialchars进行编码,因此在调用get_post_meta时将内容呈现为HTML,您需要对其进行解码:

$header = htmlspecialchars_decode(get_post_meta( get_the_ID(), 'page_header', true ));
echo $header;
本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复