has_term( string|int|array $term = '', string $taxonomy = '', int|object $post = null )
Check if the current post has any of given terms.
Description
The given terms are checked against the post’s terms’ term_ids, names and slugs. Terms given as integers will only be checked against the post’s terms’ term_ids. If no terms are given, determines if post has any terms.
Parameters
- $term
-
(string|int|array) (Optional) The term name/term_id/slug or array of them to check for.
Default value: ''
- $taxonomy
-
(string) (Optional) Taxonomy name
Default value: ''
- $post
-
(int|object) (Optional) Post to check instead of the current post.
Default value: null
Return
(bool) True if the current post has any of the given tags (or any tag, if no tag specified).
Source
File: wp-includes/category-template.php
function has_term( $term = '', $taxonomy = '', $post = null ) { $post = get_post( $post ); if ( ! $post ) { return false; } $r = is_object_in_term( $post->ID, $taxonomy, $term ); if ( is_wp_error( $r ) ) { return false; } return $r; }
Changelog
Version | Description |
---|---|
3.1.0 | Introduced. |
Example
If you’re checking for the presence of any terms from a given taxonomy on a post, you can pass in an empty string as the first parameter.
Example
This is useful if you want to conditionally display some markup that applies only if terms have been added to a post.