TOPページや記事下などなど…任意の場所に「あるカテゴリーの記事を何件か自動で表示したい」時があるかと思います。
ブログであればイチオシの記事一覧、会社やお店のサイトであればお知らせの一覧など
今回はそんな「カテゴリーで投稿を絞り込んで表示する」カスタマイズが必要になった時のサンプルです
目次
特定のカテゴリーが設定された投稿の一覧を表示させる
早速ではありますが、今回は「あるカテゴリーの記事最新4件を表示する」カスタマイズをしてみます
特定のカテゴリーの投稿の一覧を表示するPHPコード
早速ではありますが、「あるカテゴリーの記事最新4件を表示する」コードはコチラ▼
<?php
$arg = array(
'posts_per_page' => 4, // 表示する件数
'orderby' => 'date', // 日付でソート
'order' => 'DESC', // DESCで最新から表示、ASCで最古から表示
'category_name' => 'wp-customize' // 表示したいカテゴリーのスラッグを指定
);
$posts = get_posts( $arg );
if( $posts ): ?>
<ul>
<?php
foreach ( $posts as $post ) :
setup_postdata( $post ); ?>
<li><?php the_time( 'Y.m.d' ); ?><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>
<?php
endif;
wp_reset_postdata();
?>
投稿一覧の取得に使っている関数はget_posts
です
取得する投稿の条件を$arg
という変数で作っています
表示する投稿の件数をposts_per_page
で4件に指定し、orderby
、order
で「日付の降順」で投稿を取得するようにしています
カテゴリーの絞り込みはcategory_name
にカテゴリーのスラッグを指定しています
category_name
ではなく、category
に変えることでカテゴリーID(整数)で指定も出来るのですが、普通はカテゴリーIDは管理画面上に見えていないので、調べるのに少し手間がかかります…
カテゴリーで絞り込んだ投稿の一覧の表示
少しCSSを追加していますが、サンプルとして上画像のように一覧表示させることが出来ました
今回は当ブログの「WordPressカスタマイズ」カテゴリーの一覧を表示させてみました。
会社やお店のサイトであれば「お知らせ」といった投稿カテゴリーを作って、サンプルのように「日付 + タイトル」でお知らせを表示してみても良いのではないでしょうか?
その他の絞り込みに関するパラメーター
get_posts
で使えるパラメーターはWP_Query
とほぼ一緒なので、投稿の絞り込みに関してはWP_Query
のリファレンスが参考になります
ではまた。
「タグ」での絞り込みをしたい場合はこちら
「カテゴリー」ではなく、タグで絞り込みする場合のカスタマイズ方法についてはこちらを参考にしてみてください▼