投稿日ごとに投稿タイプ別の記事を表示したい
-
お世話になっています。
タイトルだけだと若干わかりにくいのですが、下記のような表示をしたいと思っています。
<div class="section"> <h3>2月8日</h3> <h4>2月8日は○○の日</h4> <ul> <li><a href="リンク">「投稿」のタイトル1</a></li> <li><a href="リンク">「投稿」のタイトル2</a></li> </ul> <ul> <li><a href="リンク">「投稿タイプA」のタイトル1</a></li> <li><a href="リンク">「投稿タイプA」のタイトル2</a></li> <li><a href="リンク">「投稿タイプA」のタイトル3</a></li> </ul> </div> <div class="section"> <h3>2月10日</h3> <ul> <li><a href="リンク">「投稿」のタイトル1</a></li> <li><a href="リンク">「投稿」のタイトル2</a></li> </ul> <ul> <li><a href="リンク">「投稿タイプA」のタイトル1</a></li> </ul> </div>
現状、投稿と投稿タイプAにある記事を取得することまでは出来たのですが、
今のコードでは表示がまざってしまうため、この先からどう書けばいいのか・・・と手が止まってしまいました。前提として
・Advanced Custom Fieldで、投稿を取得する日を指定(指定した日から1ヶ月間の投稿を取得します)
・月のうち、特定の日だけ<h4>タグを出力したい
※こちらはget_date()などで日付を比較すれば出来そうなので、ひとまずスルーします現在のコードはこちらです。
<?php function filter_where( $where = '' ) { // カスタムフィールドで選択した月から1ヶ月の投稿を取得する $where .= " AND post_date >= '" . get_field('start').'-00-00' . "'" . " AND post_date <= '" . date( 'Y-m-d-23-59',strtotime("+1 month" ,strtotime( get_field('start').'-23-59' )) ) . "'"; return $where; } add_filter( 'posts_where', 'filter_where' ); //フィルターを追加 global $query_string; $args = array( 'post_type' => array('post', 'customtypeA'), //取得する投稿タイプ 'posts_per_page' => -1, 'order' => 'ASC', 'orderby' => 'date' ); $count = 0; $myQuery = new WP_Query( $args ); //クエリまわす echo '<div class="section">'; while( $myQuery->have_posts() ): $myQuery->the_post(); $postdate = the_date('n/j', '<h3>', '</h3><ul>', false); if ($postdate != NULL && $count != 0) { echo '</ul></div><div class="section">'; }; ?> <?php echo $postdate; ?> <li><a href="<?php the_permalink();?>"><?php the_title(); ?></a></li> <?php $count++; endwhile;wp_reset_postdata(); echo '</ul></div>'; remove_filter( 'posts_where', 'filter_where' ); //フィルターを削除(他のクエリに影響させないため)
どうぞ、よろしくお願い致します。
1件の返信を表示中 - 1 - 1件目 (全1件中)
1件の返信を表示中 - 1 - 1件目 (全1件中)
- トピック「投稿日ごとに投稿タイプ別の記事を表示したい」には新たに返信することはできません。