Как добавить один тег к нескольким сообщениям?

У меня около 1500 сообщений в блоге WordPress. Прежде чем перейти к новому дизайну, мне нужно пометить все эти сообщения одним тегом «old». Как я могу это сделать? Я пробовал навалом редактировать сообщения, и каждый раз, когда я пробовал, он всегда будет занимать до 78 сообщений. Я пытался увеличить пределы сервера, и все равно это не сработает! Как я могу это сделать?

Solutions Collecting From Web of "Как добавить один тег к нескольким сообщениям?"

Если у вас есть возможность использовать wp-cli в bash-подобной оболочке, это удобный способ сделать это:

for ID in $(wp post list --post_type=post --post_status=any --field=ID); do wp post term add $ID post_tag old; done 
  • for ID in $(…); do for ID in $(…); do запускает цикл для каждой строки вывода внутренней команды
  • wp post list --post_type=post --post_status=any --field=ID перечисляет все почтовые идентификаторы сообщений. Это фактически интерфейс командной строки для WP_Query .
  • wp post term add $ID post_tag old назначает термин old таксономии post_tag каждому post_tag цикла, идентифицируемому переменной цикла $ID . Если этот термин не существует, он создается впервые.
  • done отмечает конец цикла

Попробуйте это

global $post; $args = array( 'posts_per_page' => -1); $myposts = get_posts( $args ); foreach( $myposts as $post ) : setup_postdata($post); wp_set_post_tags( the_ID(), 'old', true ); endforeach;