サポート » 使い方全般 » 特定カテゴリで年代別に記事一覧をループさせる方法について

  • 解決済 sai_office

    (@sai_office)


    特定カテゴリ(cat=3)で以下のような形で、年代別に記事一覧を表示させ、ループさせる方法を教えてください。

    ■2013年
    ・2013年02月00日「記事タイトル」
    ・2013年01月00日「記事タイトル」
    ■2013年
    ・2013年02月00日「記事タイトル」
    ・2013年01月00日「記事タイトル」

    ■2008年1-12月
    ■2007年1-12月

    そこで初心者ながらにコードを探していましたが、
    以下コードのように年月別でかつ記事一覧はカテゴリ関係なく表示されてしまう方法しか見つかりませんでした。

    以下コードは、
    <?php if(is_category(3): ?>
    で条件分岐して表示しています。

    <!–article001–><article>
    <?php query_posts( array(‘posts_per_page’=>-1,’order’=>’DESC’,’orderby’=>’date’) );
    if ( have_posts() ) :
    $postmonth = false; // 比較用の変数を初期化
    while ( have_posts() ) :
    the_post();
    if( $postmonth != get_post_time(‘Yn’) ) : // 投稿年を比較
    if ( $postmonth !== false ) : // 最初のループは除外。2回目以降で投稿年月が異なれば閉じタグを出力
    ?>
    <?php endif; ?>
    <h2><?php echo get_post_time(‘Y年’); ?></h2>
    <div>

    <?php endif; ?>
    <dl>
    <dt><?php the_time(‘Y年m月d日’); ?></dt>
    <dd>“>「<?php the_title(); ?>」</dd>
    </dl>
    <?php
    $postmonth = get_post_time(‘Yn’); // 比較用の変数に年月を代入
    endwhile;
    endif;
    wp_reset_query();
    ?>

    </div>
    </article><!–end .article001–>

    年別にかつカテゴリを限定した形でループさせる方法を教えてください。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック投稿者 sai_office

    (@sai_office)

    wordpressバージョンは3.1.4です。

    pluto1234

    (@pluto1234)

    サンプル表示が「年」単位でグループ化しているので、「年月」単位なのかと思わせる get_post_time(‘Yn’) の記述は無視しました。

    <article>
    <?php
    $args = array(
      'cat' => 3,
      'orderby' => 'post_date',
      'order'   => 'DESC',
      'numberposts' => -1
    );
    $my_posts = get_posts( $args );
    $s_y = '9999';
    foreach ($my_posts as $post) :
      setup_postdata($post);
      $y = get_the_time('Y');
      if ($y!=$s_y) :
    ?>
        <h2>■<?php echo $y; ?>年</h2>
    <?php
      endif;
      $s_y = $y;
    ?>
      <dl>
      <dt><?php the_time('Y年m月d日'); ?></dt>
      <dd><?php the_title(); ?></dd>
      </dl>
    <?php
    endforeach;
    wp_reset_postdata();
    ?>
    </article>

    トピック投稿者 sai_office

    (@sai_office)

    教えていただいた方法でうまくいきました!
    ありがとうございました!!

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「特定カテゴリで年代別に記事一覧をループさせる方法について」には新たに返信することはできません。