前提
WordPressのカスタム投稿タイプでイベントスケジュールのページを作っています。
実現したいこと
イベント投稿の並び順を開催日の近い順に、かつ同日に複数イベントがある場合は開催時間の早い順に並び替えたいと思っています。
また、開催日が過ぎたものは非表示にしたいとも考えています。
開催日と開催時間の入力にはプラグイン「Advanced Custom Fields」を使用しており、開催日をデイトピッカーで、開催時間をTime Pickerで入力するようにしています。
発生している問題・エラーメッセージ
↓の質問を参考に記述してみたのですが
https://teratail.com/questions/195188
「このサイトで重大なエラーが発生しました。」と表示されてしまいました。
各設定
カスタム投稿タイプの名前:schedule
開催日の名前:schedule_date
開催時間の名前:schedule_starttime
該当のソースコード
PHP
1<div class="part schedule_part"> 2 <ul class="archive_ul"> 3<?php 4$paged = get_query_var('paged'); 5$args = array ( 6 'post_type' => 'schedule', 7 'posts_per_page' => 10, 8 'meta_key' => 'schedule_date', 9 'meta_value' => wp_date( "Ymd" ), 10 'meta_compare' => '>=', 11 'paged' => $paged, 12 'meta_query' => array( 13 'relation' => 'AND', 14 'date_clause' => ( 15 'key' => 'schedule_date', 16 ), 17 'starttime_clause' => ( 18 'key' => 'schedule_starttime', 19 ), 20 ), 21 'orderby' => ( 22 'date_clause' => 'ASC', 23 'starttime_clause' => 'ASC', 24 ), 25); 26$posts = new WP_Query($args); 27if($posts->have_posts()): 28while($posts->have_posts()) : $posts->the_post(); 29?> 30 <li class="archive_li"> 31 <a href="<?php the_permalink(); ?>"> 32 <p class="date"> 33<?php 34$date = get_field('schedule_test', false, false); 35$date = new DateTime($date); 36?> 37 <?php echo $date->format('m.d'); ?><span class="schedule_week schedule_<?php echo $date->format('D'); ?>"><?php echo $date->format('D.'); ?></span><span class="schedule_year"><?php echo $date->format('Y'); ?></span> 38 </p> 39 <div class="title"> 40 <p class="schedule_title"><?php the_title(); ?></p> 41 <p class="past_place"><?php the_field('schedule_place'); ?></p> 42 <p class="past_place"><?php echo $date->format('H:i'); ?></p> 43 <p class="schedule_act"><?php the_field('schedule_act'); ?></p> 44 </div> 45 </a> 46 </li> 47<?php endwhile; ?> 48<?php else:?> 49 <li >現在、イベントの予定はありません。</li> 50<?php endif;wp_reset_postdata(); ?> 51 </ul> 52</div>
ではダメなようで、どこがいけなかったのでしょうか?
ご教授頂けますと幸いです。
回答1件
あなたの回答
tips
プレビュー