要件
デイトピッカーで日付を選び、カテゴリを選択します。カテゴリを何も選ばなかったら「イベントなし」を表示されます。
カスタム投稿タイプ:
calendar(イベントカレンダー)
カスタムフィールド:
calendar_date1〜calendar_date10(デイトピッカー)
calendar_cate1〜calendar_cate10(チェックボックス。会議、セミナー、食事会、コンサート)
表示件数:
3ヶ月分
<?php
$newslist = new WP_Query( array(
'post_type' => 'calendar',
'posts_per_page' => 3
));
if($newslist->have_posts()):
while($newslist->have_posts()):
$newslist->the_post();
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<?php
for ($i=1; $i<=10; $i++) {
$date_fn = 'calendar_date'.$i;
$get_date = get_field($date_fn);
if($get_date):
$date = date_create($get_date);
$weeks = array("日", "月", "火", "水", "木", "金", "土");
$w = (int)date_format($date, 'w');
$week = $weeks[$w];
echo '<th>';
echo date_format($date,'m/d');
echo '(<span class="';
if($week == '土'){echo 'sat';}else{echo 'sun';}
echo '">';
echo $week;
echo '</span>)</th>';
endif;
}
?>
</tr>
<tr>
<?php
for ($i=1; $i<=10; $i++) {
$date_fn = 'calendar_date'.$i;
$get_date = get_field($date_fn);
$time_fn = 'calendar_cate'.$i;
$get_time = get_field_object($time_fn);
$get_time_id = get_post_meta($post->ID,$time_fn);
$get_time_id = $get_time_id[0];
if($get_date):
echo '<td>';
if($get_time){
foreach($get_time_id as $time_value){
switch($time_value){
case '会議':
echo '<span class="meeting">';
echo $time_value;
echo '</span>';
break;
case 'セミナー':
echo '<span class="seminar">';
echo $time_value;
echo '</span>';
break;
case '食事会':
echo '<span class="dinner">';
echo $time_value;
echo '</span>';
break;
case 'コンサート':
echo '<span class="concert">';
echo $time_value;
echo '</span>';
break;
default:
break;
}
}
if(!$get_time_id){
echo 'イベントなし';
}
}
echo '</td>';
endif;
}
?>
</tr>
</tbody>
</table>
<?php
endwhile;
endif;
wp_reset_postdata();
?>
