2012/6/5

WordPressで記事一覧を月別日別に区切っていく

久し振りにWordPressループではまったので備忘録。基本的に記事って日付とタイトルで並べていきますけど、場合によっては、2012年6月、んで、更に6月1日の記事、みたいにグループ化して表示したいこともあるのではないでしょうか。

function get_grouped_post() {
  $day_check = '';
  if (have_posts()) : while (have_posts()) : the_post();;
    $month = get_the_date(Ym);
    $day = get_the_date(d);
    if ($month != $month_check) {
      if ($month_check != '') {
        echo '月の区切りを閉じるモノ';
      }
      echo '月の区切りで表示するモノ';
    }
    if ($day != $day_check) {
      if ($month_check == $month && $day_check > $day) {
        echo '日の区切りを閉じるモノ';
      }
      echo '日の区切りで表示するモノ';
    }
    echo '記事タイトルとか';
    echo '概要とか';
    $month_check = $month;
    $day_check = $day;
  endwhile;
  echo '日の区切りを閉じるモノ'.'月の区切りを閉じるモノ';
  endif;
  wp_reset_query();
}

みたいにして使ってやるとうまいこと行きます。

結構汎用性は高めな気がしますね。

ひとり仕事: フリーランスという働き方
(2012-10-5)
売り上げランキング: 14,705
100円
WordPressデザインレシピ集
狩野 祐東
技術評論社
売り上げランキング: 197,569
WordPress 高速化&スマート運用必携ガイド
こもりまさあき 岡本渉
エムディエヌコーポレーション
売り上げランキング: 435,263