Function: has_tag

has_tag( string | integer | array $tag, integer | object $post )

Checks if the current post has any of given tags.

Shortcut: ht

You can use above key combination to trigger the associated snippet for this function in the WordPress Snippets for Visual Studio Code extension. You can also use this shortcut to search for this function on this website.

The given tags are checked against the post's tags' term_ids, names and slugs. Tags given as integers will only be checked against the post's tags' term_ids. If no tags are given, determines if post has any tags.

Prior to v2.7 of WordPress, tags given as integers would also be checked against the post's tags' names and slugs (in addition to term_ids) Prior to v2.7, this function could only be used in the WordPress Loop. As of 2.7, the function can be used anywhere if it is provided a post ID or post object.

For more information on this and similar theme functions, check out the Conditional Tags article in the Theme Developer Handbook.


Name Type(s) Default Value Description
$tag string | integer | array ''

Optional. The tag name/term_id/slug or array of them to check for.

$post integer | object null

Optional. Post to check instead of the current post. (since 2.7.0)



True if the current post has any of the given tags (or any tag, if no tag specified).

WordPress Developer Newsletter

Stay informed of new chapter releases, important WordPress API updates and more.