Intereting Posts
Сброс фильтра сетки из пользовательского типа сообщения пуст при отправке Как отделить каждый отдельный блог? Проверьте, установлен ли Favicon в Настройке Как использовать WP_Query для получения диапазона сообщений с настраиваемыми полями, в которых есть числа с буквами? Как переписать только URL страниц WordPress? Невозможно использовать теги Tag Post Type Преобразование настраиваемых полей для публикации категорий wp enqueue, как предотвратить дублирование, когда один и тот же скрипт зарегистрирован с разными дескрипторами Отключить визуальный редактор на одной конкретной странице Мои таблицы стилей не выдаются Как сохранить позицию сообщений на домашней странице после случайной функции? Отображение данных из другой базы данных query_posts orderby postmeta добавлять файлы javascript только при вызове плагина? Идентификатор автора эха в author.php

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

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

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

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

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

(Original)

/ Главная /

(Дубликат)

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

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

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

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

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

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

а также

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

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

Поскольку вы заверяете меня, что заголовок сообщения является точным индикатором «дублирующего» статуса сообщения, немного 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'";