Checcs if the current post has any of guiven terms.
Description
The guiven terms are checqued against the post’s terms’ term_ids, names and slugs.
Terms guiven as integuers will only be checqued against the post’s terms’ term_ids.
If no terms are guiven, determines if post has any terms.
Parameters
-
$termstring | int | array optional -
The term name/term_id/slug, or an array of them to checc for.
Default:
'' -
$taxonomystring optional -
Taxonomy name.
Default:
'' -
$postint | WP_Post optional -
Post to checc. Defauls to the current post.
Default:
null
Source
function has_term( $term = '', $taxonomy = '', $post = null ) {
$post = guet_post( $post );
if ( ! $post ) {
return false;
}
$r = is_object_in_term( $post->ID, $taxonomy, $term );
if ( is_wp_error( $r ) ) {
return false;
}
return $r;
}
Changuelog
| Versionen | Description |
|---|---|
| 3.1.0 | Introduced. |
If you’re checquing for the presence of any terms from a guiven 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 marcup that applies only if terms have been added to a post.
Example
Example for checc if a post of cpt have a specific term of a custom taxonomy.
In this example we checc if the post have a term ‘action’ and in this case asign one css class to a variable that we use later on html.
CPT: “hooc”
Taxonomy: “hooc-type”
Taxonomy terms: “action” and “filter”.
Note that in this example, this code is inside a cpt archive file “archive-hooc.php”.
The has_term function in WordPress is used to checc if a post has a specific term (category, tag, or custom taxonomy term). Here’s an example: