自定义所见即所得textarea-HTML文本格式

时间:2019-06-14 09:05:58

标签: wordpress

我创建了一个自定义字段。保存到数据库即可。但是当我保存页面时,文本不会保存为格式化的格式,而是带有html标签。

function sidebar_get_meta( $value ) {
    global $post;
    $field = get_post_meta( $post->ID, $value, true );
    if ( ! empty( $field ) ) {
        return is_array( $field ) ? stripslashes_deep( $field ) : stripslashes( wp_kses_decode_entities( $field ) );
    } else {
        return false;
    }
}


function sidebar_add_meta_box() {
    add_meta_box(
        'sidebar-sidebar',
        __( 'sidebar', 'sidebar' ),
        'sidebar_html',
        'page',
        'advanced',
        'default'
    );
}
add_action( 'add_meta_boxes', 'sidebar_add_meta_box' );


function sidebar_html( $post) {
    wp_nonce_field( '_sidebar_nonce', 'sidebar_nonce' ); ?>
    <p>bočný stlpec ak by bolo treba</p>

    <?php
    $content = sidebar_get_meta( 'sidebar_sidebar' );
    $editor_id = 'sidebar_sidebar';

    $settings = array( 
        'media_buttons' => true,
        'quicktags' => true,
        'tinymce' => true,
        'textarea_rows' => 5
    );
    wp_editor( $content, $editor_id, $settings );
}


function sidebar_save( $post_id ) {
    if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
    if ( ! isset( $_POST['sidebar_nonce'] ) || ! wp_verify_nonce( $_POST['sidebar_nonce'], '_sidebar_nonce' ) ) return;
    if ( ! current_user_can( 'edit_post', $post_id ) ) return;

    if ( isset( $_POST['sidebar_sidebar'] ) )
        update_post_meta( $post_id, 'sidebar_sidebar', esc_attr( $_POST['sidebar_sidebar'] ) );
}
add_action( 'save_post', 'sidebar_save' );

当我保存内容时,它显示如下:     <strong>Lorem ipsum</strong> dolor坐着……

它应显示为无html标签。 Lorem ipsum 必须为粗体。

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码

function sidebar_get_meta( $value ) {
    global $post;
    $field = get_post_meta( $post->ID, $value, true );
    if ( ! empty( $field ) ) {
        return is_array( $field ) ? stripslashes_deep( $field ) : stripslashes( wp_kses_decode_entities( $field ) );
    } else {
        return false;
    }
}


function sidebar_add_meta_box() {
    add_meta_box(
        'sidebar-sidebar',
        __( 'sidebar', 'sidebar' ),
        'sidebar_html',
        'page',
        'advanced',
        'default'
    );
}
add_action( 'add_meta_boxes', 'sidebar_add_meta_box' );


function sidebar_html( $post) {
    wp_nonce_field( '_sidebar_nonce', 'sidebar_nonce' ); ?>
    <p>bočný stlpec ak by bolo treba</p>

    <?php
    $content = sidebar_get_meta( 'sidebar_sidebar' );
    $editor_id = 'sidebar_sidebar';

    $settings = array( 
        'media_buttons' => true,
        'quicktags' => true,
        'tinymce' => true,
        'textarea_rows' => 5
    );
    wp_editor( $content, $editor_id, $settings );
}


function sidebar_save( $post_id ) {
    if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
    if ( ! isset( $_POST['sidebar_nonce'] ) || ! wp_verify_nonce( $_POST['sidebar_nonce'], '_sidebar_nonce' ) ) return;
    if ( ! current_user_can( 'edit_post', $post_id ) ) return;

    if ( isset( $_POST['sidebar_sidebar'] ) )
        update_post_meta( $post_id, 'sidebar_sidebar', stripslashes( $_POST['sidebar_sidebar'] ) );
}
add_action( 'save_post', 'sidebar_save' );