HOME > WordPress > カテゴリー別記事一覧を表示する

カテゴリー別記事一覧を表示する

WordPressのトップページなどで、カテゴリーごとに記事一覧を表示したい場合の書き方。以前から使っていたコードがquery_postsを使ったものだったので、get_postsを使ったコードをまとめておこうと思った次第。

get_postsを使って、カテゴリー別記事一覧を表示する

以下のソースは、カテゴリー別記事一覧を表示するもの。全カテゴリーを表示してしまうので、特定のカテゴリーだけにしたいとか特定のカテゴリーを除外したい場合は、工夫が必要(工夫はまだ)。

<div id="listArea">
    <?php 
    $categories = get_categories();
    foreach($categories as $category):
     ?>
        <div class="listBox">
        <h3><?php echo $category->cat_name; ?></h3>
        <ul>>
        <?php
            $catposts = get_posts(array(
                'category' => $category->cat_ID,
                'posts_per_page' => 5 //取得する記事件数
            ));
            foreach($catposts as $post):
            setup_postdata($post);
        ?>
        <li>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        </li>
        <?php endforeach; wp_reset_postdata(); ?>
        </ul><!-- listBox -->
    <?php endforeach; ?>
</div><!-- listArea -->

ずっと使っていたquery_postsを使ったソース

category_name=hogeでカテゴリーを指定する。長くお世話になりました。

<div>
<?php query_posts('category_name=hoge&showposts=3');?>
  <?php if(have_posts()):while(have_posts()):the_post();?>
    <span class="date"><?php the_time('Y.m.d');?></span>
    <span><a href="<?php the_permalink();?>"><?php the_title();?></a></span>
  <?php endwhile;endif;?>
<?php wp_reset_query() ?>
</div>

参考URL