web-dev-qa-db-fra.com

Définir des balises pour une publication - sans création de balises

Je peux utiliser wp_set_post_tags pour définir des balises pour un article. Selon la documentation,

Chaque tag qui n'existe pas déjà sera automatiquement créé

I not veut créer automatiquement une balise si celle-ci ne se ferme pas?

Alors, y a-t-il une fonction que je peux utiliser?

OK, alors vous avez quelque chose comme ça:

$new_tags = array( 'tag1', 'tag2', 'tag3' );
wp_set_post_tags( $post_ID, $new_tags );

Si vous souhaitez ajouter uniquement des balises existantes, vous devez filtrer votre tableau de balises:

$new_tags = array( 'tag1', 'tag2', 'tag3' );
$existing_tags = array();
foreach ( $new_tags as $t ) {
    if ( term_exists( $t, 'post_tag' ) ) {
        $existing_tags[] = $t;
    }
}
wp_set_post_tags( $post_ID, $existing_tags );

Ou une version plus courte:

$new_tags = array( 'tag1', 'tag2', 'tag3' );
wp_set_post_tags( $post_ID, array_filter( $new_tags, 'tag_exists' ) );
8
Krzysiek Dróżdż