[WordPress]カスタム投稿タイプの投稿が特定カテゴリーに紐付いているかチェックする

WordPressの独自テーマの作成中に、カスタム投稿タイプのsingleページにて、
その投稿($post)が特定のカテゴリー(taxonomy)に紐付いているか。
をチェックしたかったのですが、いかんせん上手く行かなかったので書き残します。

書いたコード

$is_hoge_taxonomy で条件を切れるようにしたかったので、
get_the_terms( POST_ID , TAXONOMY_NAME );
でカテゴリー(taxonomy)の一覧を取得して、その中に特定のカテゴリーが存在するかをチェックしています。

<?php
the_post();
$terms = get_the_terms($post->ID,'plan_taxonomy');
$is_hoge_taxonomy = false;
if($terms):
	foreach($terms as $term):
		if($term->slug == ‘hoge’){
			$is_hoge_taxonomy = true;
		}
	endforeach;
endif;
?>

ハマったポイント

get_the_terms( POST_ID , TAXONOMY_NAME );
TAXONOMY_NAMEに何を入れるのかがさっぱりわからなかった。。

カスタム投稿タイプのカテゴリー管理画面のURLを見ると、
example.com/wp-admin/edit-tags.php?taxonomy=plan_taxonomy&post_type=plan
といった形になっているので、taxonomy=XXXXXの部分を参考にした。

条件の切り分け

上記のコードで$is_hoge_taxonomyで切り分けができるようになったので、
下記のようにカテゴリーへの紐付け状態によって条件の切り分けができるようになります。

<?php
if ( $is_hoge_taxonomy ){
//	hoge カテゴリーに紐付いている時の処理
}else{
//	hoge カテゴリーに紐付いていない時の処理
}
?>

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください