MENU

投稿に特定のカテゴリー・タグ・タームが付いているかどうかを判定する方法

2019 8/16
投稿に特定のカテゴリー・タグ・タームが付いているかどうかを判定する方法

とあるカテゴリーやタグが付いているかどうか」をめちゃくちゃ簡単に判定できるWordPress関数を知ったのでメモしておきます。

  • has_category
  • has_tag
  • has_term

の3種類!

基本的な使い方

//特定のカテゴリーがあるかどうか
if ( has_category( 'category_name' ) ) {
   /* 処理 */
}

//特定のタグがあるかどうか
if ( has_tag( 'tag_name' ) ) {
   /* 処理 */
}

//特定のタームがあるかどうか
if ( has_term( 'term_name', 'taxonomy_name' ) ) {
   /* 処理 */
}

これだけです。

例えば、「ピックアップ」というタグが付いた記事にだけマークを表示したい場合などに便利ですね。

ここからは、それぞれの関数についてもう少し詳しく説明を書いていきます。

目次

has_category()について

使い方

<?php has_category( $category, $post ); ?>

引数の意味

$category(オプション)
カテゴリーの名前 or ID or スラッグ。複数指定の場合はそれらの配列。
初期値: なし
$post(オプション)
チェックしたい投稿のオブジェクト。
初期値: 現在の投稿

$categoryの指定が無い場合、なんでもいいのでカテゴリーを持つかどうかを判定してくれる。

has_tag()について

使い方

<?php has_tag( $tag, $post ); ?>

引数の意味

$tag(オプション)
タグの名前 or ID or スラッグ。複数指定の場合はそれらの配列。
初期値: なし
$post(オプション)
チェックしたい投稿のオブジェクト。
初期値: 現在の投稿

$tagの指定が無い場合、なんでもいいのでカテゴリーを持つかどうかを判定してくれる。

has_term()について

使い方

<?php has_term( $term, $taxonomy, $post ); ?>

引数の意味

$term(オプション)
タームの名前 or ID or スラッグ。複数指定の場合はそれらの配列。
初期値: ""
$taxonomy
タームが属するタクソノミー名
初期値: なし
$post(オプション)
チェックしたい投稿のオブジェクト。
初期値: 現在の投稿

この記事が気に入ったら
フォローしてね!

目次
閉じる
WordPressテーマ SWELLWordPressテーマ SWELL