Intereting Posts
Получить эскиз URL :) Можно ли запускать какой-либо JavaScript при вскрытии всплывающей подсказки? Создать специальную кнопку в редакторе WP Tiny MCE для коротких кодов Добавить класс во время текущей публикации; wp_list_categories Как просто переносить сообщения / страницы с одного сайта на другой? Как получить дату создания поля плагина расширенного пользовательского поля? WordPress CSV Importer занимает много времени, чтобы закончить Как удалить все комментарии из определенного старого сообщения в блоге? Максимальное изменение размера загружаемого файла в php.ini игнорируется. Как удалить ограничение размера загрузки? WP_Query – с использованием category__and, когда одна из категорий равна 0 Логин снова после обновления профиля Запросить название страницы, чтобы показывать сообщения с соответствующей категорией в цикле Запросы WordPress не работают? Получение сообщений по дате и категории save_post требуется как минимум один загруженный файл для публикации

Удалить повторяющиеся страницы, поэтому существует только оригинал

В основном у меня около 4000 страниц на моем сайте WordPress, и я определил, что 1320 являются дубликатами.

Я знаю, что я могу выбрать каждый из них вручную, а затем переместить их в корзину и т. Д., Но кто-нибудь знает более эффективный способ сделать это?

Возможно, запрос MYSQL для удаления всех дубликатов?

Пример URL-адресов выглядит следующим образом:

(Original)

/ Главная /

(Дубликат)

/ page-2 / и иногда даже / page-3 /

Должен быть способ массового удаления всех страниц с добавленным -2 или -3

Спасибо за любую помощь.

Некоторая добавленная информация

Я создал страницы в зависимости от местоположения, и я только что понял, что у меня есть такие страницы, как

Бервик на Твиде

а также

Бервик-апон-Твид

Я бы идеально хотел удалить страницы с помощью – в заголовке

Solutions Collecting From Web of "Удалить повторяющиеся страницы, поэтому существует только оригинал"

Поскольку вы заверяете меня, что заголовок сообщения является точным индикатором «дублирующего» статуса сообщения, немного SQL и wp_delete_post() будут делать это:

 $sql = "SELECT ID FROM {$wpdb->posts} WHERE post_title REGEXP '^.*-[[:digit:]]*$' AND post_type = 'page'"; $del = $wpdb->get_col($sql); foreach ($del as $d) { wp_delete_post($d); } 

Как написано, ваши дубликаты попадают в «мусор», если только это не отключено. Вы можете использовать…

 wp_delete_post($d,true); 

… принудительно удалить.

Основываясь на комментарии ниже:

Я создал страницы в зависимости от местоположений, и я только понял, что у меня есть такие страницы, как Berwick on Tweed и Berwick-Upon-Tweed. Я бы идеально хотел удалить страницы с помощью – в заголовке

Я не могу не думать, что это феноменально опасная вещь, но SQL прост:

 $sql = "SELECT ID FROM {$wpdb->posts} WHERE post_title LIKE '%-%' AND post_type = 'page'";