wordpress - 使用TinyMCE在后期编辑表单中管理自定义帖子元素

时间:2016-07-06 06:17:19

标签: php wordpress tinymce

我一直在尝试实现一个TinyMCE文本区域来添加和编辑一个帖子元项目,下面是我试过的代码。

我能够以后期编辑形式生成TinyMCE编辑器,但无法从数据库加载后元数据,有人可以帮助我吗?提前谢谢。

function target_audience_get_meta( $value ) {
global $post;

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

function target_audience_add_meta_box() {
add_meta_box(
    'target_audience',
    __( 'Target Audience', 'target_audience' ),
    'target_audience_html',
    'product',
    'normal',
    'default'
);
}

function target_audience_html(){
wp_nonce_field( '_target_audience_nonce', 'target_audience_nonce' ); 
$target_audience = get_post_meta($post->ID, '_target_audience', true);
wp_editor( $target_audience, '_target_audience', array(
'wpautop'       => true,
'media_buttons' => false,
'textarea_name' => 'target_audience',
'textarea_rows' => 10,
'teeny'         => true
) );
}

function target_audience_save( $post_id ) {
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
if ( ! isset( $_POST['target_audience'] ) || ! wp_verify_nonce( $_POST['target_audience_nonce'], '_target_audience_nonce' ) ) return;
 if ( isset( $_POST['target_audience'] ) )
    update_post_meta( $post_id, '_target_audience', esc_attr( $_POST['target_audience'] ) );
}
add_action( 'save_post', 'target_audience_save' );
target_audience_get_meta('_target_audience');

1 个答案:

答案 0 :(得分:0)

问题很简单。我忘了将$post参数输入到函数target_audience_html($post)。现在它正在发挥作用。