複数カテゴリの記事リスト
複数カテゴリの記事リスト

複数の違うカテゴリの記事をまとめて取得し一覧に表示するコード

これまで、記事一覧はarchive.phpを使って表示していましたが、これは一つのカテゴリに属する記事の一覧を表示します。今回、複数の違うカテゴリに属する記事をまとめて一覧にするという要望がありました。なので、複数の違うカテゴリに属する記事を取得するコードを備忘録としてまとめておきます。

複数の違うカテゴリの記事をまとめて取得するコード

<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>の部分はサイトのデザインに合わせてカスタマイズしてください。

<ul>
    <?php
        $args = array (
        'category__in' => array('1','2','3','4'), // カテゴリのIDを記入する
        'order' => 'DESC', // 記事の並び順 昇順(ASC)、降順(DESC)
        'paged' => $paged,
        'post_per_page' => 10, //表示する記事の数
    );
    $paged = (int) get_query_var('paged');
    $the_query = new WP_Query( $args ); ?>
    <?php if( $the_query -> have_posts() ): while ( $the_query -> have_posts()): $the_query -> the_post(); ?>
    <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
    <?php endwhile; endif; ?>
</ul>

// ページネーションを表示
<?php
if ($the_query->max_num_pages > 1){ 
    echo paginate_links(
        array(
            'base' => get_pagenum_link(1).'%_%',
            'format' => 'page/%#%/',
            'current' => max(1, $paged),
            'total' => $the_query->max_num_pages,
            'prev_next' => true,
            'prev_text' => '« 前へ',
            'next_text' => '次へ »',
        )
    );
}
wp_reset_postdata();
?>

ページネーション参考

ページネーションはCode Pocketさんの記事を参考にさせていただきました。


JunJunWeb.Netの新着情報を受け取るには
SNSアカウントをフォローすると便利!