has_term( string|int|array $term = '', string $taxonomy = '', int|object $post = null )
Check if the current post has any of given terms.
Description 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 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 Return
(bool) True if the current post has any of the given tags (or any tag, if no tag specified).
Source 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;
}
Expand full source code Collapse full source code View on Trac
Changelog Changelog
| Version | Description |
|---|---|
| 3.1.0 | Introduced. |
User Contributed Notes User Contributed Notes
You must log in before being able to contribute a note or feedback.
Example
if( has_term( 'jazz', 'genre' ) ) { // do something }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
if( has_term('', 'genre') ){ // do something }This is useful if you want to conditionally display some markup that applies only if terms have been added to a post.