Retrieves the terms of the taxonomy that are attached to the post.
Parameters
$post
int|WP_Postrequired- Post ID or object.
$taxonomy
stringrequired- Taxonomy name.
Source
function get_the_terms( $post, $taxonomy ) {
$post = get_post( $post );
if ( ! $post ) {
return false;
}
$terms = get_object_term_cache( $post->ID, $taxonomy );
if ( false === $terms ) {
$terms = wp_get_object_terms( $post->ID, $taxonomy );
if ( ! is_wp_error( $terms ) ) {
$term_ids = wp_list_pluck( $terms, 'term_id' );
wp_cache_add( $post->ID, $term_ids, $taxonomy . '_relationships' );
}
}
/**
* Filters the list of terms attached to the given post.
*
* @since 3.1.0
*
* @param WP_Term[]|WP_Error $terms Array of attached terms, or WP_Error on failure.
* @param int $post_id Post ID.
* @param string $taxonomy Name of the taxonomy.
*/
$terms = apply_filters( 'get_the_terms', $terms, $post->ID, $taxonomy );
if ( empty( $terms ) ) {
return false;
}
return $terms;
}
Hooks
- apply_filters( ‘get_the_terms’,
WP_Term[]|WP_Error $terms ,int $post_id ,string $taxonomy ) Filters the list of terms attached to the given post.
Changelog
Version | Description |
---|---|
2.5.0 | Introduced. |
WP_Term object properties: (because I am always looking for them)
Optimized way to get a comma separated list of terms.
The difference between this function and
wp_get_post_terms()
is that this function’s results are cached (thus, it won’t hit the database every time its called).Get terms for all custom taxonomies
Place this function in your theme’s
functions.php
.Now you can use this function in your theme:
A Basic Example
Echoing the list of terms (for a taxonomy called
on-draught
). This is similar to the output fromget_the_term_list
, but without the terms being hyperlinked:Another example of how to process the results of this call.
This example retrieves the categories and tags for a post and uses wp_list_pluck() to efficiently creates a list of their names, without duplicates, and turns it into a string of keys suitable for an NITF feed.
Example of a wrap function for get_the_terms() with a return list of terms added to the post.
Exemplo de função wrap para get_the_terms() , que retorna a lista de termos adicionadas ao post.
How to use:
Como usar:
The function returns WP_Error if the $taxonomy doesn’t exist.
Another example how to get custom post type taxonomies and separate them with commas.
if you want to use this inside WP Query, just to list your taxonomy names, then you can use:
A basic example of getting parent categories only.