Я подготовил следующий код для перезаписи тегов записей после нескольких мета-ключей. Теперь он работает только для одного мета-ключа. Как применить его к нескольким мета-ключам?
<?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 );
?>
В приведенном выше коде мета-значение мета-ключа aaaaa применяется только как пост-тег, а мета-значение мета-ключа bbbbb и ccccc игнорируется.
После того, как я услышу совет ниже, я тоже попробовал этот код.
<?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 );
?>
Затем все теги будут удалены.