Intereting Posts
Использование параметров темы для изменения значения граничного радиуса Получать сообщения из пользовательского типа сообщений по дочерним категориям родительской категории Помогите мне с этим индексом Undefined? Сочетание разбиения на категории категорий категорий Прямое редактирование проблем базы данных WP Пользовательские метаданные сообщения не отображаются в общедоступном API Как добавить столбцы в список изменений после публикации, чтобы показать мои пользовательские данные? Код Java / JSP в wordpress Как ускорить загрузку видео в формате Wistia? Ссылка Категории публикации аналогична ссылке на страницу Создание пользовательских настроек на страницах / сообщениях для плагина Почему я получаю «wp_remote-get: не удалось обработать for fopen ()»? Изменение пользовательских страниц управления пользователями Как определить почтовые заголовки как изображения с помощью пользовательских полей? Показать все категории сообщений, кроме текущей категории

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

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

Если у вас есть возможность использовать 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;