2016-07-06 4 views
1

ポストメタアイテムを追加および編集するためのTinyMCEテキストエリアを実装しようとしています。wordpress - ポスト編集フォームでカスタムポストメタを管理するためにTinyMCEを使用する

ポスト編集フォームでTinyMCEエディタを生成することはできますが、ポストメタデータをDBから読み込むことはできません。だれでも助けてくれますか?前もって感謝します。

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'); 

答えて

0

問題は非常に簡単です。関数target_audience_html($post)$postパラメータを入力するのを忘れてしまった。今それは働いています。

関連する問題