WordPress.org

Ready to get started?Download WordPress

Codex

Attention Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

it:Riferimento funzioni/wp set post terms

Descrizione

Imposta i termini per un post.

Utilizza wp_set_object_terms().

Utilizzo

<?php wp_set_post_terms$post_id$terms$taxonomy$append ?>

Parametri

$post_id
(integer) (richiesto) ID del post.
Default: 0
$terms
(string,array) (opzionale) Lista di tag. Può essere un array o una stringa separata da virgole. Se si vogliono immettere delle categorie, usare gli ID. Se si vogliono aggiungere tag, allora usare i nomi.
Default: array
$taxonomy
(string) (opzionale) Possibili valori di esempio: 'category', 'post_tag', 'slug della tassonomia'
Default: post_tag
$append
(boolean) (opzionale) Se true, i tag verranno aggiunti al post. Se false, i tag rimpiazzeranno quelli esistenti.
Default: false

Valori restituiti

(array|boolean|WP_Error|string) 
  • (array) Un array con i termini coinvolti in caso di successo,
  • (boolean) false se il valore intero di $post_id viene valutato come false (if ( ! (int) $post_id )),
  • (WP_Error) L'oggetto WordPress Error in caso di tassonomia non valida ('invalid_taxonomy').
  • (string) Il primo termine incriminato se nel parametro $terms ce n'è uno con nome non corretto. (Gli ID dei termini non validi sono accettati ed inseriti).

Esempi

Note

Per i termini gerarchici (come le categorie), si deve sempre passare l'ID piuttosto che il nome del termine per evitare confusione se dovesse esserci un altro figlio con lo stesso nome.

Per ottenere l'ID del termine si può usare:

$term_id = term_exists( $term, $taxonomy, $parent );

Potrebbe essere necessario passare per riferimento:

wp_set_post_terms( $post_id, $term, &$taxonomy );

Per i termini non gerarchici (come i tag), si può passare il nome del termine o l'ID. Se si passa l'ID c'è solo un accorgimento da considerare: bisogna passarlo come integer, e deve essere incluso in un array. Questo è necessario in quanto qualunque valore passato che non sia un array verrà convertito in una stringa la quale verrà interpretata come il nome del termine.

$tag = '5'; // Errato. Questo aggiungerà il tag con il *nome* '5'.
$tag = 5; // Errato. Anche questo aggiungerà il tag con il nome '5'.
$tag = array( '5' ); // Errato. Di nuovo, questo verrà interpretato come nome del termine e non come ID.

$tag = array( 5 ); // Corretto. Questo aggiungerà il tag con ID 5.
wp_set_post_terms( $post_id, $tag, $taxonomy );

Questa funzione opera solamente sui tipi di post nativi. Per una tassonomia in un tipo di post personalizzato, utilizzare wp_set_object_terms()

Change Log

Since: 2.8.0

File sorgente

wp_set_post_terms() si trova in wp-includes/post.php.

Correlati

Si veda anche l'indice di Riferimento funzioni e l'indice di Tag dei template.