とあるカテゴリーやタグが付いているかどうか」をめちゃくちゃ簡単に判定できる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(オプション)

チェックしたい投稿のオブジェクト。
初期値: 現在の投稿

WEMO
- Thank you for reading. -
エックサーバー 当サイトはエックスサーバーで運営しています。
mixhost 速度重視ならMixHostがオススメ!

コメント

コメントする