get_term( int|WP_Term|object $term, string $taxonomy = '', string $output = OBJECT, string $filter = 'raw' )
Retourne toutes les données d'un terme en donnant son ID.
Description
L'un des usages de la fonction get_term()
est d'appliquer 2 filtres à l'objet du terme. Il est possible d'obtenir celui-ci avant qu'il ne soit filtré.
L'ID du terme recherché doit faire partie de la taxonomie renseignée.
Le filtre 'get_term' est spécifiquement utilisé pour le terme et le filtre 'term_$taxonomy' pour la taxonomie.
Paramètres
$term
(int | WP_Term | object) (Requis) Si $term est un entier, les données du terme seront rapportées de la base de donnée ou du cache si disponible. Si $term est un objet stdClass (comme le résultat d'une requête en base de donnée), les filtres y seront appliqués.
$taxonomy
(string) (Optionnel) Le nom de la taxonomie dont $term fait parti.
Valeur par défaut : ''
$output
(string) (Optionnel) Le type voulu de la sortie.
- OBJECT pour l'objet WP_Term
- ARRAY_A pour un tableau associatif
- ARRAY_N pour un tableau numérique
Valeur par défaut : OBJECT
$filter
(string) (Optionnel) De quelle façon nettoyer les champs du terme.
Valeur par défaut : 'raw'
Retourne
(array | WP_Error | null) Instance ou tableau. WP_Error si la taxonomie n'existe pas. null si échec.
Structure de la fonction get_term()
Définie dans le fichier wp-includes/taxonomy.php à la ligne 855 :
function get_term( $term, $taxonomy = '', $output = OBJECT, $filter = 'raw' ) {
if ( empty( $term ) ) {
return new WP_Error( 'invalid_term', __( 'Empty Term.' ) );
}
if ( $taxonomy && ! taxonomy_exists( $taxonomy ) ) {
return new WP_Error( 'invalid_taxonomy', __( 'Invalid taxonomy.' ) );
}
if ( $term instanceof WP_Term ) {
$_term = $term;
} elseif ( is_object( $term ) ) {
if ( empty( $term->filter ) || 'raw' === $term->filter ) {
$_term = sanitize_term( $term, $taxonomy, 'raw' );
$_term = new WP_Term( $_term );
} else {
$_term = WP_Term::get_instance( $term->term_id );
}
} else {
$_term = WP_Term::get_instance( $term, $taxonomy );
}
if ( is_wp_error( $_term ) ) {
return $_term;
} elseif ( ! $_term ) {
return null;
}
// Ensure for filters that this is not empty.
$taxonomy = $_term->taxonomy;
/**
* Filters a taxonomy term object.
*
* @since 2.3.0
* @since 4.4.0 `$_term` is now a `WP_Term` object.
*
* @param WP_Term $_term Term object.
* @param string $taxonomy The taxonomy slug.
*/
$_term = apply_filters( 'get_term', $_term, $taxonomy );
/**
* Filters a taxonomy term object.
*
* The dynamic portion of the filter name, `$taxonomy`, refers
* to the slug of the term's taxonomy.
*
* @since 2.3.0
* @since 4.4.0 `$_term` is now a `WP_Term` object.
*
* @param WP_Term $_term Term object.
* @param string $taxonomy The taxonomy slug.
*/
$_term = apply_filters( "get_{$taxonomy}", $_term, $taxonomy );
// Bail if a filter callback has changed the type of the `$_term` object.
if ( ! ( $_term instanceof WP_Term ) ) {
return $_term;
}
// Sanitize term, according to the specified filter.
$_term->filter( $filter );
if ( ARRAY_A === $output ) {
return $_term->to_array();
} elseif ( ARRAY_N === $output ) {
return array_values( $_term->to_array() );
}
return $_term;
}
Fonctions et Hooks utilisés par get_term()
__()
Retourne la traduction d'un texte.
sanitize_term()
Nettoie tous les champs d'un terme.
get_term
Filtre un terme d'une taxonomy.
get_{$taxonomy}
Filtre une taxonomy d'un terme.
taxonomy_exists()
Détermine si un nom de taxonomie existe.
apply_filters()
Appel les fonctions qui ont été attaché à un filtre (hook).
is_wp_error()
Vérifie si la variable est une erreur WordPress.
Où trouver la fonction get_term()
dans le CMS Wordpress
Exemple
Sources
Codex Wordpress : get_term()
Autres fonctions dans le même fichier : wp-includes/taxonomy.php