Массовое удаление в WordPress может быть проблемой, если вы рассматриваете более 10000 постов, которые хотите удалить.

В таких случаях часто случается, что у сервера истекает тайм-аут, и вы будете вынуждены удалять каждые 100.

Это занимает много времени, и никто не захочет этого делать.

Удалить все сообщения в категории WordPress

В этом руководстве мы покажем вам, как массово удалять сообщения из определенной категории.

План действий:

  • Вам нужно будет войти в свою базу данных MySQL.
  • Вам нужно будет узнать categoryID категории
  • Вам нужно будет настроить запрос MySQL, чтобы он содержал ваш идентификатор категории.
  • Вы запускаете команду 1
  • Вы запускаете команду 2
  • Еще раз проверьте, были ли удалены сообщения на вашем сайте WordPress
Сделайте резервную копию своей базы данных перед тем, как начать

Авторизуемся

Войдите в свою базу данных MySQL, вы можете сделать это с помощью следующей команды:

sudo mysql -u [USER] -p
Вам будет предложено ввести пароль, введите пароль и продолжите.

Выберите базу данных

Теперь, когда вы вошли в систему, вам нужно будет выбрать базу данных, вы можете сделать это с помощью следующей команды:

use [DATABASE];
После того, как вы введете команду, вы переключитесь на базу данных, которая будет содержать записи WordPress, которые мы хотим удалить.

Команда 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 и проверьте, все ли сообщения были удалены.

 

Поделитесь статьей:

Добавить комментарий