meta box を追加してみました。
キーの値は「date-01-14」の形式です。
function my_meta_schedule_box(){
add_meta_box('my_meta_schedule_box', '今日から3日間の予定', 'my_meta_schedule_html', 'post', 'normal', 'high');
}
function my_meta_schedule_html($post, $box){
echo '<input type="hidden" name="my_meta_schedule_nonce" id="my_meta_schedule_nonce" value="'.wp_create_nonce(get_bloginfo('template_url')).'" />';
for($i=0; $i<3; $i++){
$time = strtotime('+' . $i . ' days');
$key = 'date-' . date('m-d', $time);
echo '<div><label for="' . $key . '">'. date('n月j日', $time) .'</label>';
echo '<input type="text" name="' . $key . '" value="'. get_post_meta($post->ID, $key, true) .'" size="50" /></div>';
}
}
function my_meta_schedule_update($post_id){
if (!wp_verify_nonce( $_POST['my_meta_schedule_nonce'], get_bloginfo('template_url'))){
return $post_id;
}
if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
return $post_id;
if(!current_user_can('edit_post', $post_id))
return $post_id;
$key = date('m-d', strtotime('-1 day'));
delete_post_meta($post_id, $key);
for($i=0; $i<3; $i++){
$time = strtotime('+' . $i . ' days');
$key = 'date-' . date('m-d', $time);
$value = $_POST[$key];
if($value == '') $value = '未定';
update_post_meta($post_id, $key, $value);
}
}
add_action('admin_menu', 'my_meta_schedule_box');
add_action('save_post', 'my_meta_schedule_update');
kz様
わざわざ完成形で示してくださり、本当にありがとうございます。
試してみたところ、まさに希望通りの動作をしているようです。
半ば諦めていたところなので大変感激しております。
ご教示頂いた内容について、1つ1つ理解出来るよう順を追って
じっくりと学んでいきたいと思います。
本当にありがとうございました。
古い記事に書き込み失礼します。
<?php
for($i=0; $i<7; $i++){
$time = strtotime('+' . $i . ' days');
$key = 'date-' . date('m-d', $time);
echo '<td>'. datedate('n月j日', $time) .'</td>';
}
; ?>
で記事への出力は可能ですが、曜日を表示するにはどうしたら良いでしょうか?