1

簡潔に言うと、3 つのフィールドを持つメタ ボックスを作成しましたが、最初のフィールドしか保存されていません。私は何が間違っているのでしょうか?

// --- METABOX: CAREER ... CONTENTS --- //
function career_meta(){
global $post;
$career1 = get_post_meta( $post->ID, 'career1', true );
$career2 = get_post_meta( $post->ID, 'career2', true );
$career3 = get_post_meta( $post->ID, 'career3', true );
?>
<label for="career_subtitle">Subtitle</label><input type="text" class="widefat" id="career-subtitle" name="career_subtitle" value="<?php echo $career1; ?>" />
<label for="career_text_1">Left Column</label><textarea class="widefat" id="career-text-1" name="career_text_1" value="<?php echo $career2; ?>"></textarea>
<label for="career_text_2">Right Column</label><textarea class="widefat" id="career-text-2" name="career_text_2" value="<?php echo $career3; ?>"></textarea>
<?php }

// --- METABOX: CAREER ... SAVE --- //
add_action('save_post', 'save_career');
function save_career(){
    global $post;
    update_post_meta($post->ID, "career1", $_POST["career_subtitle"]);
    update_post_meta($post->ID, "career2", $_POST["career_text_1"]);
    update_post_meta($post->ID, "career3", $_POST["career_text_2"]);
}
add_action('save_post','function_save_var');
function function_save_var()
{
  if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE )
    return $post_id;

}

それが私が今持っているものです。最初のフィールド (career_subtitle) は保存されますが、他の 2 つのフィールドは保存されません。これを修正することは非常に重要なので、効果的な回答をいただければ幸いです:)

4

1 に答える 1

4

これはあなたの質問に対する解決策ではないかもしれませんが、textareaにvalue属性があることを確認しますか????

これはあなたの問題を解決するかもしれません:-

<label for="career_text_1">Left Column</label><textarea class="widefat" id="career-text-1" name="career_text_1"><?php echo $career2; ?></textarea> <label for="career_text_2">Right Column</label><textarea class="widefat" id="career-text-2" name="career_text_2"><?php echo $career3; ?></textarea>

于 2012-10-25T08:16:19.897 に答える