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

В основном у меня около 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'";