Blog

WordPressに特定カテゴリーの記事一覧を表示する

2012.09.03 2017.03.01WordPress

トップページなどにカテゴリごとの更新情報を一覧表示したいときに便利な方法。

まず、WordPressの投稿や固定ページ内でPHPを使えるようにするため、『Exec-PHP』というプラグインをインストール→有効化します。あとは投稿や固定ページの編集画面で直接PHPを記述していけば大丈夫です。

サンプルコード

<div>
<?php
global $post;
$tmp_post = $post;
$category_ids = array( '1' ); //カテゴリーID
$numberposts = '6'; //一覧表示したい記事数
foreach ( $category_ids as $category_id ) {
?>
<h2><?php echo get_cat_name( $category_id ); ?></h2>
<ul class="update">
  <?php
     $postslist = get_posts( "category=$category_id&numberposts=$numberposts&order=DESC&orderby=date" );
     foreach ( $postslist as $post ) {
?>
  <li><?php the_time('m月d日'); ?>&nbsp;<a href=<?php echo get_permalink( $post->ID ); ?>><?php echo $post->post_title; ?></a></li>
  <?php
     }
?>
</ul>
<?php
 }
 $post = $tmp_post;
 ?>
</div>

上記サンプルコードでは、<h2>タグでカテゴリ名を表示し、<ul>タグにクラス名を「update」として記事一覧(投稿日と記事タイトル)をリスト表示しています。お好みに合わせていろいろいじってみてください。

複数のカテゴリーを指定して一覧表示したい場合は上記サンプルの

$category_ids = array( '1' ); //カテゴリーID

という部分を

$category_ids = array( '1','3','5' ); //カテゴリーID

のような感じで複数指定すれば大丈夫です。

カテゴリーIDの調べ方

cateid_0

WordPressのカテゴリーIDはどこかに明記してあるわけではないので(たぶん)、知らないとちょっと分かりづらいと思います。ダッシュボードのサイドバーから「投稿」→「カテゴリー」と進み、IDを調べたいカテゴリーをクリックします。

「カテゴリーの編集」という画面が開きますので、ブラウザでそのページのURLを見てみます。すると、「category&tag_ID=」という箇所があって、その直後に数字があると思います。それがカテゴリーIDです。上の画像では「1」がカテゴリーIDです。

こちらの記事が参考になりました↓

Author: 柴田竹思

ベトナムと日本のに拠点生活Webディベロッパー。国内外のSOHO/フリーランスの方のウェブサイト制作から企業の大規模案件まで幅広く携わっています。