PAGE TOP

サイドバーなどにカスタムタクソノミーの記事一覧を表示させる

カスタムタクソノミーの一覧表示

最近はWordPressのカスタムポストタイプを使用するケースも多々ありますが、
通常の投稿と違い、カスタムポストの記事一覧やアーカイブ、カスタムタクソノミーなどを表示させるのは、ウィジェットやプラグインは使用できず、(用途によりそれらのプラグインは存在しますが)通常はそれぞれの取得のためのコード記述が必要になります。

 

今回は、「あるカスタム投稿タイプの、あるカスタムタクソノミーの、あるタームに属する記事を一覧で○件表示させる。」
というコードの書き方です。

 

やり方はfunctionsに書いてショートコードで呼び出したり、まずタクソノミーを取得してその中から条件分岐で取得したり、などいろんな方法があるのですが、シンプルに、わかりやすく、短く、を突き詰めると以下のコードになりました。

 

<?php $tax_posts = get_posts('post_type=foo&taxonomy=bar&term=hoge&posts_per_page=5'); if($tax_posts): ?>
	<ul>
		<?php foreach($tax_posts as $tax_post): ?>
		<li><a href="<?php echo get_permalink($tax_post->ID); ?>"><?php echo esc_html($tax_post->post_title); ?></a></li>
		<?php endforeach; ?>
	</ul>
<?php endif; ?>

 

これは、fooというカスタム投稿タイプの、barというカスタムタクソノミーの、hogeというタームがついた記事を5件リストで表示させる。というコードです。
1行目のget_postsで、一気に条件を書いています。

 

出力したい内容に合わせて引数名やget_postsの中身を書き換えれば良いだけなので、とても使い勝手の良い美しいコードですね。


同じカテゴリのおすすめ記事

  • カテゴリー

  • 最近の投稿

  •