投稿タグを、特定の複数のカスタムフィールドの値に変更したいと考えています。  
一つのカスタムフィールドだけをタグとして反映させることはできましたが、複数のカスタムフィールドの値をそれぞれタグとして反映させることができません。

これまで試したコードはこちらです

```

    <?php
    global $post;
    $post_id = $post->ID; 
    $tags[] = get_post_meta($post_id, 'aaaaa', $single);
    $tags[] = get_post_meta($post_id, 'bbbbb', $single);
    $tags[] = get_post_meta($post_id, 'ccccc', $single);
    $tags = array_unique( array_filter( $tags ) ); // here, adding array_filter to remove empty get_post_meta results
    wp_set_post_tags( $post_id, $tags, false );
    ?>
    
```

上記のコードの場合、一番上に記載したカスタムキーだけがタグに反映されました。

* * *
```

    global $post;
    $post_id = $post->ID; 
    $tags[] = get_post_meta($post_id, 'aaaaa', $single);
    $tags[] = get_post_meta($post_id, 'bbbbb', $single);
    $tags[] = get_post_meta($post_id, 'ccccc', $single);
    $tags = array_unique( array_filter( $tags ) ); // here, adding array_filter to remove empty get_post_meta results
    foreach($tags as $tag){
        wp_set_post_tags( $post_id, $tag, false );
    }
    
```

こちらのコードも一番上のカスタムキーだけがタグとして反映されました。

* * *
```

    <?php
    global $post;
    $post_id = $post->ID;
    
    $tags = get_post_meta($post_id, 'aaaaa', $single);
    if (!empty($tag) ) { wp_add_post_tags( $post_id, $$tag ); }
    
    $tags = get_post_meta($post_id, 'bbbbb', $single);
    if (!empty($tag) ) { wp_add_post_tags( $post_id, $$tag ); }
    
    $tags = get_post_meta($post_id, 'ccccc', $single);
    if (!empty($tag) ) { wp_add_post_tags( $post_id, $$tag ); }
    
    wp_set_post_tags( $post_id, $tags, false );   
    
    ?>
    
```

上記のコードでは、カスタムフィールドの値はいずれもタグとして反映されませんでした。
CC BY-SA 4.0
2020-02-16T21:10:00.360
63097
2020-02-17T02:20:24.167
2020-02-17T00:02:41.480
3060
35952
question
wordpress
投稿タグをカスタムフィールドの値で上書きしたい
文字列で返ってきてないのが原因だったようで、第三引数trueであっさりうまくいきました！
CC BY-SA 4.0
2020-02-17T02:20:24.167
63100
2020-02-17T02:20:24.167
35952
63097
answer