DAINASHI YESTERDAY

2012.09.03

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

wp_img6-1200x800

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

まず、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です。

こちらの記事が参考になりました→ 『WordPressの固定ページに特定カテゴリの記事一覧を書き出す(サツぽろ、ニッキ。)』『カテゴリIDで指定した複数カテゴリの投稿記事を新着順にリスト表示(アルファシス – alphasis.info -)

投稿者: