web-dev-qa-db-ja.com

投稿にタグを設定する - タグを作成せずに

私はwp_set_post_tagsを使って投稿のタグを設定することができます。資料によると、

まだ存在していないすべてのタグが自動的に作成されます

I しない タグが終了しない場合は自動的にタグを作成しますか?

それで、私はどんな機能を使うことができますか?

それで、あなたはこのようなものを持っています:

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

すでに存在するタグだけを追加したい場合は、タグ配列をフィルタ処理する必要があります。

$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 );

またはより短いバージョン:

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