要件
デイトピッカーで日付を選び、カテゴリを選択します。カテゴリを何も選ばなかったら「イベントなし」を表示されます。
カスタム投稿タイプ:
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(); ?>