ウィジェット機能を使えば特定のカテゴリーの記事一覧を表示させることは簡単ですが、TOPページや自作したカテゴリーページなど、デフォルトで用意されているウィジェットエリア以外の場所に表示させたいこともあるでしょう。この記事では任意の場所に特定のカテゴリーの記事一覧を表示する方法を解説します。
方法としてはPHPで表示させたいカテゴリーの記事一覧を取得して出力します。
下記のコードをテーマファイル(index.phpやcategory.phpなど)の特定のカテゴリーの記事一覧を表示させたい場所に記述しましょう。
<?php $args = array( // 取得する投稿の条件を作成 'posts_per_page' => 5, // 表示する件数 'category_name' => 'WordPress', // 表示したいカテゴリー名を指定 'orderby' => 'date', // 日付でソート 'order' => 'DESC', // 並び順。DESCで最新から表示、ASCで最古から表示 ); $posts_array = get_posts( $args ); // 投稿データの配列を作成 if( $posts_array ): ?> <ul> <?php foreach ( $posts_array as $post ) : // 配列の繰り返し処理開始 setup_postdata( $post ); // グローバル変数をセット ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php endforeach; // 配列の繰り返し処理終了 ?> </ul> <?php endif; wp_reset_postdata(); // $post グローバル変数を復元 ?>
全ての記事を表示したい場合には表示件数をそれ以上の数字に設定しておけば、今後そのカテゴリーに追加した記事も表示されます。
このように出力されます。あとはCSSでデザインを整えましょう。