has_tag() の使い方|説明・引数・注意点

説明

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

コメント

タイトルとURLをコピーしました