説明
has_tag() は、投稿にタグが付いているかを判定する関数です。
基本構文
has_tag( string|int|array $tag = '', int|WP_Post $post = null ): bool
引数
$tag:タグ(省略可)$post:投稿IDまたはオブジェクト
戻り値
付いていれば true。
使い方(サンプル)
if ( has_tag( 'wordpress' ) ) {
// 実行したい処理
}
注意点
- 省略すると、何かタグが付いているかの判定になります。
実務での使いどころ
- 投稿が、タグを持つかを判定するとき。
- 特定のタグを、持つかを判定するとき。
- タグがあるときだけ、タグの表示枠を出すとき。
よくあるミスと対処
- タグのアーカイブページの判定に使っている。アーカイブの判定は、
is_tag()。 - カスタムタクソノミーに使っている。カスタムタクソノミーには
has_term()を使う。
NG例
if ( has_tag( 'php' ) ) {
// タグのアーカイブの判定のつもり
}
OK例
if ( is_tag( 'php' ) ) {
// タグのアーカイブ
}
使い分け早見表
| やりたいこと | 使うもの |
|---|---|
| 投稿が、タグを持つか | has_tag() |
| タグのアーカイブか | is_tag() |
| 投稿が、任意のタームを持つか | has_term() |
関連項目
has_category()、get_the_tags()、has_term()
公式リファレンス:has_tag() | Function | WordPress Developer Resources

コメント