Массовое удаление в WordPress может быть проблемой, если вы рассматриваете более 10000 постов, которые хотите удалить.
В таких случаях часто случается, что у сервера истекает тайм-аут, и вы будете вынуждены удалять каждые 100.
Это занимает много времени, и никто не захочет этого делать.
Удалить все сообщения в категории WordPress
В этом руководстве мы покажем вам, как массово удалять сообщения из определенной категории.
План действий:
- Вам нужно будет войти в свою базу данных MySQL.
- Вам нужно будет узнать categoryID категории
- Вам нужно будет настроить запрос MySQL, чтобы он содержал ваш идентификатор категории.
- Вы запускаете команду 1
- Вы запускаете команду 2
- Еще раз проверьте, были ли удалены сообщения на вашем сайте WordPress
Сделайте резервную копию своей базы данных перед тем, как начать
Авторизуемся
Войдите в свою базу данных MySQL, вы можете сделать это с помощью следующей команды:
sudo mysql -u [USER] -p
Выберите базу данных
Теперь, когда вы вошли в систему, вам нужно будет выбрать базу данных, вы можете сделать это с помощью следующей команды:
use [DATABASE];
Команда 1: сначала выбираем их
Эта команда была предоставлена TripWire, и она до сих пор работает, мы сами это проверили.
Настройте команду MySQL так, чтобы она содержала categoryID категории, содержащей записи, которые вы хотите удалить:
SELECT *
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON ( a.ID = b.object_id )
LEFT JOIN wp_postmeta c ON ( a.ID = c.post_id )
LEFT JOIN wp_term_taxonomy d ON ( d.term_taxonomy_id = b.term_taxonomy_id )
LEFT JOIN wp_terms e ON ( e.term_id = d.term_id )
WHERE e.term_id = <categoryID>;
Как только вы введете эту команду, вы получите обзор элементов, которые будут удалены.
Как только это будет выполнено, вы можете перейти к следующей команде.
Команда 2: удалить все записи из рубрики
Приведенная ниже команда массово удалит все сообщения в категории, которую вы указали с помощью categoryID.
Убедитесь, что вы изменили categoryID в приведенном ниже коде, прежде чем запускать что-то.
delete a,b,c,d
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON ( a.ID = b.object_id )
LEFT JOIN wp_postmeta c ON ( a.ID = c.post_id )
LEFT JOIN wp_term_taxonomy d ON ( d.term_taxonomy_id = b.term_taxonomy_id )
LEFT JOIN wp_terms e ON ( e.term_id = d.term_id )
WHERE e.term_id = <categoryID>;
Проверьте количество записей
Войдите на свой сайт WordPress и проверьте, все ли сообщения были удалены.