前提・実現したいこと
カスタム投稿タイプで「スケジュール」機能を作成しているのですが、
投稿日(スケジュール日)が同じだった場合に、投稿日は1つだけ表示して個別記事リンクはループで表示させるようにしたいです。
下記のサイトをイメージして頂けるとわかりやすいと思います。
【参考サイト】
http://festive.rizepro.net/schedule/
現在「投稿日」自体は管理画面上から未来分も設定できるようにしてあります。
カスタムフィールドの作成は「Advanced Custom Fields」を使用しています。
該当のソースコード
php
1<?php 2 $this_date = date('Y-m-1'); // 今日の日付を元に今月の月初めを取得 3 $this_year = date('Y', strtotime($this_date)); // 年を取得 4 $this_month = date('m', strtotime($this_date)); // 月を取得 5 6 $args = array( 7 'year' => $this_year, 8 'monthnum' => $this_month, 9 'post_type' => 'schedule', 10 ); 11 $the_query = new WP_Query($args); 12?> 13 14<?php if ( $the_query->have_posts() ) : ?> 15 <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?> 16 17 <?php $post_day = get_the_date('j'); ?> <!-- 投稿記事の「投稿日」を取得 --> 18 19 <?php if ( $post_day == $post_day ) : ?> <!--「投稿日」が同じなら --> 20 21 <li> 22 <p> 23 <span><?php echo $post_day; ?></span><!--「投稿日」 --> 24 <span><?php echo get_post_time('D'); ?></span><!--「投稿日」英語 --> 25 </p> 26 <div> 27 <!-- ここの個別記事リンクをループで表示させたい --> 28 <a href="<?php echo get_permalink(); ?>"> 29 <p ><?php the_title(); ?></p> 30 </a> 31 <!-- ループここまで --> 32 </div> 33 </li> 34 35 <?php else : ?> <!--「投稿日」が違うなら --> 36 37 <li> 38 39 通常のリスト表示 40 41 </li> 42 43 <?php endif; ?> 44 45 <?php endwhile; ?> 46 47<?php wp_reset_postdata(); ?> 48 49<?php endif; ?>
試したこと
if文で分岐させて見たのですがうまく出し分けされませんでした…。
カスタムタイプで新たに「投稿日」を作成してみたりしたのですが、結果は同じでした。
そもそもやり方が違うのか………。
私自身wordpress、phpともに初心者のもので大変見苦しい点が多々あると思いますが
皆様のお力添えのほどよろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
wordpressバージョン 5.2.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/26 08:07
2019/08/26 08:37 編集
2019/08/26 09:47