has_term() – 投稿にタクソノミーが設定されているか判断する関数

投稿日 :

カテゴリー :

has_term() 関数は、投稿にタクソノミーが設定されているかどうかを判断する関数です。

目次

has_term() 関数とは

投稿にタクソノミーが設定されているかどうかを判断します。

パラメーターに指定された情報は、内部でターム IDやターム名、タームスラッグと照らし合わせて判断されます。

パラメーター

$termタームの名前、 ID、スラッグまたはそれらの配列を指定
$taxonomyタクソノミー名を設定
$post確認する投稿を設定
デフォルトでは現在の投稿

使い方

タームを判断するものなので、カスタムタクソノミーだけではなく標準的なカテゴリーやタグにも利用することができます。

カテゴリーの場合は以下のようになります。

if ( has_term( 'uncategorized', 'category' ) ) {
	echo "この投稿はカテゴリー:未分類です。";
} else {
	echo "この投稿はカテゴリー:未分類ではありません。";
}

タグの場合は以下のようになります。

if ( has_term( 'markup', 'post_tag' ) ) {
	echo "この投稿はタグ:マークアップが設定されています。";
} else {
	echo "この投稿はタグ:マークアップが設定されていません。";
}

また、特定のタクソノミーが設定されているかどうかを判断させることもできます。

if ( has_term( '', 'post_tag' ) ) {
	echo "なにかしらタグが設定されています";
} else {
	echo "タグは設定されていません";
}

さらに複数のタームで絞り込みたい場合には以下のように配列を使うこともできます。

if ( has_term( array( 'hoge', 'haga' ), 'taxonomy-name' ) ) {
	//
}

フック

ありません。

まとめ

こちらの関数は何かパラメーターを指定して判断をさせることが多いでしょう。特定のタームが設定された際に特別な処理を施したい場合にはとても便利です。

コーディングや
WordPress開発のリソースが足りない!

オレインデザインでは、デザインデータからの HTML コーディングから WordPress テーマ・プラグイン開発まで幅広くウェブ制作に対応しています。

お気軽にお問い合わせください。

WordPress 6.5.x 対応版を出版しました

WordPress デフォルトテーマ Twenty Twenty-Four を使って、シンプルなブログやポートフォリオサイト、そしてコーポレートサイトを作りながら、ブロックテーマやサイトエディターの基本を理解することができます。