「とあるカテゴリーやタグが付いているかどうか」をめちゃくちゃ簡単に判定できる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(オプション)
- チェックしたい投稿のオブジェクト。
初期値: 現在の投稿