has_tag( string|int|array $tag = '', int|WP_Post $post = null ): bool

Checks if the current post has any of given tags.


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.

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

Top ↑


$tag string|int|array Optional
The tag name/term_id/slug, or an array of them to check for.

Default: ''

$post int|WP_Post Optional
Post to check. Defaults to the current post.

Default: null

Top ↑


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

Top ↑


File: wp-includes/category-template.php. View all references

function has_tag( $tag = '', $post = null ) {
	return has_term( $tag, 'post_tag', $post );

Top ↑


Version Description
2.7.0 Can be used outside of the WordPress Loop if $post is provided.
2.6.0 Introduced.

Top ↑

User Contributed Notes

You must log in before being able to contribute a note or feedback.