質問: post_custom('japaname'); // custom field template (和名を定義) ?> ``` 出力内容は、日付+商品名のみでして、 上記コードで以下のように出力されます。 ``` 2016.12.20商品名あ 2016.12.20商品名い 2016.12.20商品名う 2016.12.20商品名え 2016.12.08商品名お 2016.12.08商品名か 2016.12.08商品名き ``` ### 実現したいこと 大抵一日にまとめて商品ページを作成しますので、 同じ日付が連続で並ぶのは見栄えが良くなく、できれば下記のように 日付ごとにブロック化して出力したいと考えております。 ``` 2016.12.20 商品名あ 商品名い 商品名う 商品名え 2016.12.08 商品名お 商品名か 商品名き ``` その場合コードをどのように書き換えればよいかわかりません。 どなたかお力添えをいただけないでしょうか。 宜しくお願いいたします。
回答: ループを以下のようにすればどうでしょう。 ($argsやその他は、ご自分の環境に合わせてください) ``` have_posts() ): $post_year = false; // 年の比較用変数の初期化 $post_day = false; // 日の比較用変数の初期化 while ( $the_query->have_posts() ): $the_query->the_post(); if( $post_day != get_post_time('d') ) { // 比較の値と投稿日が異なる場合に以下を表示 if ( $post_day !== false ) { // 比較の値と投稿日が異なる場合に以下を表示 echo ''; } echo ''.get_post_time('Y.n.d').''; //投稿の月を表示 echo ''; } echo ''.get_the_title().''; // 投稿のリンクとタイトルを表示 $post_year = get_post_time('Y'); // 年月の比較用の変数に今の投稿の年月を代入 $post_day = get_post_time('d'); // 年月の比較用の変数に今の投稿の年月を代入 endwhile; wp_reset_postdata(); echo ''; endif; ?> ``` こちらのサイトを参考にしました。 WordPress 投稿一覧に年と月の見出しを付ける方法