The has_tag() WordPress PHP function checks if the current post has any of the given tags.
Usage
has_tag( $tag, $post );
Example:
Input:
if (has_tag('featured', 42)) {
echo "Post 42 has the 'featured' tag.";
} else {
echo "Post 42 does not have the 'featured' tag.";
}
Output:
Post 42 has the 'featured' tag.
Parameters
- $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
More information
See WordPress Developer Resources: has_tag()
Examples
Display tags if the post has any
This code will display the tags of the post if it has any. It should be used inside the loop.
if (has_tag()) {
the_tags();
} else {
// Article untagged
}
Display tags or categories based on post metadata
This code will display the tags if the post has any; otherwise, it will display the categories if the post has any. If neither tags nor categories are present, it will execute a different action.
if (has_tag()) {
the_tags(); // show tags
} elseif (has_category()) {
the_category(); // show category
} else {
// do something different
}
Check if a post has a specific tag
This code checks if the current post has a specific tag, and then displays a message accordingly.
if (has_tag('featured')) {
echo "This post is featured.";
} else {
echo "This post is not featured.";
}
Check if a specific post has a specific tag
This code checks if a specific post (ID: 42) has a specific tag, and then displays a message accordingly.
if (has_tag('featured', 42)) {
echo "Post 42 is featured.";
} else {
echo "Post 42 is not featured.";
}
Check if a post has any of multiple tags
This code checks if the current post has any of the specified tags, and then displays a message accordingly.
if (has_tag(array('featured', 'important', 'highlight'))) {
echo "This post has at least one of the specified tags.";
} else {
echo "This post does not have any of the specified tags.";
}