神奈川県伊勢原市在住のkusuのサイトです!ホームページ制作のご依頼等承っております!

【WordPress】特定のタームの記事一覧を表示させるには?

2019.02.12
WordPress

 WordPressのカスタム投稿で設定したカスタムタクソノミーのタームに属している記事一覧を表示させたい!という時があった場合、以下のように記述することで特定のタームの記事一覧を表示させることが可能になります!

まず例として記事一覧のソースコードを以下とします。

<ul>
	<li><a href="記事のURL">記事タイトル</a></li>
	<li><a href="記事のURL">記事タイトル</a></li>
	<li><a href="記事のURL">記事タイトル</a></li>
	<li><a href="記事のURL">記事タイトル</a></li>
	<li><a href="記事のURL">記事タイトル</a></li>
</ul>

特定のタームの記事一覧を表示させるには

 今回はカスタム投稿:testカスタムタクソノミー:test_taxonomyを設定し、そのうえでターム:test-termを設定したと仮定します。

そのうえでtest-termに属している記事の一覧を表示させるには、以下のように記述する必要があります。

<ul>

<?php
$args = array(
'post_type' => 'test',
'posts_per_page' => 10,
'tax_query' => array(
array(
'taxonomy' => 'test_taxonomy',
'field' => 'slug',
'terms' => 'test-term'
)
)
);
$domestic_post = get_posts($args);
if($domestic_post) : foreach($domestic_post as $post) : setup_postdata( $post ); ?>

	<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>

<?php endforeach; ?>
<?php else : ?><?php endif; wp_reset_postdata(); ?>

</ul>

カスタム投稿の指定

 まず5行目の

'post_type' => 'test',

にてカスタム投稿を指定します。

今回はtestというカスタム投稿にあるタームの記事一覧を表示させたいため、testと指定しています。

表示件数の指定

 続いて6行目の

'posts_per_page' => 10,

にて表示件数を指定します。

今回は1ページにつき10記事表示させたいため、10と指定しています。

カスタムタクソノミーの指定

 続いて9行目の

'taxonomy' => 'test_taxonomy',

にてカスタムタクソノミーを指定します。

今回はtest_taxonomy内のタームの記事一覧を表示させたいので、test_taxonomyと指定しています。

タームの指定

 最後に11行目の

'terms' => 'test-term'

にてタームを指定します。

今回はtest-termに属する記事を一覧表示させたいので、test-termと指定しています。

まとめ

 以上が特定のタームに属している記事一覧を表示させる方法でした!

カスタム投稿は慣れるまでは一癖ありますが、仕組みを理解できたらサイト制作の上でとても便利なシステムだと思うので、是非ともマスターしましょう!

関連記事

スポンサーリンク
検 索