雨過天晴

カテゴリーごとに、カテゴリータイトルと記事一覧を表示

2017.10.18

WordPress備忘録

img from: フリー素材ぱくたそ

カテゴリー別に記事タイトルの一覧を出します。カテゴリー名は定義リスト、記事タイトル一覧はリストです。

出力結果はこんな感じ。

<dl>
 <dt>カテゴリー名 1</dt>
 <dd>
   <ul>
     <li><a href="">タイトル 1</a></li>
     <li><a href="">タイトル 2</li>
   </ul>
 <dd>
 <dt>カテゴリー名 2</dt>
 <dd>
   <ul>
     <li><a href="">タイトル 3</a></li>
     <li><a href="">タイトル 4</a></li>
   </ul>
 <dd>
(以下dtとdd内のulを繰り返し)
</dl>

ええと、過去記事(同人小説サイト作成時のタグとコードのメモ2014)ではquery_postsでやってます。

今回ちょっとフッターにサイトマップっぽく、いくつかのカラムに分けて出す必要があり、まあquery_postsも非推奨になったし、同じページに何個も連発するのなんかどうなのという気になったのでget_postsで再挑戦。

(下記は表示させたいカテゴリーIDが9、10、16の場合)

<dl>
<?php $categories = get_categories('orderby=slug&include=9,10,16'); ?>
<?php foreach($categories as $category): ?>
  <dt><?php echo $category -> cat_name; ?></dt>
  <dd>
    <ul>
    <?php $args = array('posts_per_page'=>-1,
                        'category'=>$category -> cat_ID); 
          $posts=get_posts($args);
          foreach($posts as $post):setup_postdata($post); ?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    <?php endforeach; 
      wp_reset_postdata(); ?>
    </ul>
  </dd>
  <?php endforeach; ?>
  </dl>