兵庫県三田市でホームページ制作をしているゴリラドットです。

だいたいはカテゴリーでそのカテゴリの記事を取得して一覧表示!みたいなことをすると思うんですが、時にはタグに紐づいた記事一覧を表示したい乙女心だってある!はず。しらんけど。

でもまー、乙女心はどうでもとして、カテゴリーみたいにタグでも記事一覧出せないと困りますよね。てことでここでは、ワードプレスでタグで指定をして記事一覧を取得、get_posts()する方法を紹介したい。

 

めっちゃ簡単!

ワードプレスて妙にカテゴリをひいきしてるというか、カテゴリはarray(category_name=>”udon”)みたいな感じで、get_post()すれば超簡単にうどんカテゴリーの記事一覧が手に入っちゃいますよね。

タグはこれに比べるとちょっと5行ほど多いですが、それでもコピペでOK。ラクチンです。はい。これ。

 


$args = array(
	'posts_per_page'   => 5,
	'tax_query' => array(
		array(
			'taxonomy' => 'post_tag',
			'field' => 'slug',
			'terms' => '○○'
		)
	)
);
$tmp_posts = get_posts( $args );

 

termasのとこの○○の位置に一覧で取得したタグのスラッグを打ち込むだけです。

どこに記述するのかわかりやすくするために取得記事数(posts_per_page)を5にしてますがこれはなくてもいい部分です。

とりあえずcategory_nameて書いてたところにtax_query~から始まる数行分を入れるだけでOK。

 

そもそも

そもそもワードプレスはカテゴリーもタグもカスタムタクソノミーとして同じように扱ってるんですよね。

んでカテゴリーだけは利用する人が多いから「category_name」で簡単に取得できるようにしちゃってるわけです。

例えばさっきのやつで、

 


$args = array(
	'posts_per_page'   => 5,
	'tax_query' => array(
		array(
			'taxonomy' => 'category',
			'field' => 'slug',
			'terms' => '○○'
		)
	)
);
$tmp_posts = get_posts( $args );

 

で、termsの所に記事一覧を取得したいカテゴリのスラッグ入れれば全然普通に取得できちゃいます。

結局この「tax_query」から始まる長ったらしいやり方が”通常の”カスタムタクソノミーで検索を絞る一覧取得方法なんです。

なので、このtaxonomyに設定してた「category「だったり「post_tag」の位置を自分で作ったカスタムタクソノミー名にすれば、こちらも簡単!カスタムタクソノミーのタームで記事を検索できますよ。

 

まとめ

ワードプレスでカテゴリーじゃなくてタグで記事一覧を取得する方法を紹介しました。

ワードプレスはカテゴリーをかなり優遇してて「category_name」なる魔法の一行でカンタンにそのカテゴリの記事一覧を取得できちゃってますが、これはカテゴリーやタグが在籍しているカスタムタクソノミーという集団の中では異例中の異例。超VIP待遇というやつです。きっと社長の息子かなんかなんでしょう。

タグや自分で作ったカスタムタクソノミーは雑草魂で「tax_query」から始まる数行の抽出条件を書いてやる必要がある、という感じです。

参考にしてみてくださいね!それでは!