wp_set_post_terms( int $post_id, string|array $tags = '', string $taxonomy = 'post_tag', bool $append = false )
Associe un terme à un poste.
Description
Cette fonction ne fonctionne que sur les postes natifs. Pour des types de poste personnalisés, utilisez wp_set_object_terms()
.
Paramètres
$post_id
(int) (Optionnel) Id du poste. Ne prend pas par défaut l'id de la global $post.
$tags
(string | array) (Optionnel) Un tableau de termes à associer à un poste, ou une chaîne de termes séparés par des virgules. Les taxonomies hiérarchiques doivent toujours passer des ids plutôt que des noms puisque les termes enfants peuvent avoir le même nom qu'un parent.
Valeur par défaut : ''
$taxonomy
(string) (Optionnel) Nom de la taxonomie.
Valeur par défaut : 'post_tag'
$append
(bool) (Optionnel) Si true, ne supprime pas la relation des termes existants avec le poste. Si false, supprime la relation avec les termes existants et les remplace par les nouveaux.
Valeur par défaut : false
Retourne
(array | false | WP_Error) Tableau d'ids (term_taxonomy_id) des termes nouveaux termes associés. WP_Error ou false si échec.
Structure de la fonction wp_set_post_terms()
Définie dans le fichier wp-includes/post.php à la ligne 4794 :
function wp_set_post_terms( $post_id = 0, $tags = '', $taxonomy = 'post_tag', $append = false ) {
$post_id = (int) $post_id;
if ( ! $post_id ) {
return false;
}
if ( empty( $tags ) ) {
$tags = array();
}
if ( ! is_array( $tags ) ) {
$comma = _x( ',', 'tag delimiter' );
if ( ',' !== $comma ) {
$tags = str_replace( $comma, ',', $tags );
}
$tags = explode( ',', trim( $tags, " \n\t\r\0\x0B," ) );
}
/*
* Hierarchical taxonomies must always pass IDs rather than names so that
* children with the same names but different parents aren't confused.
*/
if ( is_taxonomy_hierarchical( $taxonomy ) ) {
$tags = array_unique( array_map( 'intval', $tags ) );
}
return wp_set_object_terms( $post_id, $tags, $taxonomy, $append );
}
Fonctions utilisées par wp_set_post_terms()
_x()
Retourne une chaîne traduite en fonction de son contexte.
wp_set_object_terms()
Créer une relation entre un objet donné et un terme.
is_taxonomy_hierarchical()
Détermine si la taxonomie est hiérarchique.
Où trouver la fonction wp_set_post_terms()
dans le CMS Wordpress
Exemples
Sources
Codex Wordpress : wp_set_post_terms()
Autres fonctions dans le même fichier : wp-includes/post.php