


Блог IT-шника
Блог IT-шника
Привіт:) Іноді при розробці WordPress сайту потрібно швидко видалити всі пости з конкретної рубрики (категорії). Розберу декілька способів.
WP Bulk Delete
.WP Bulk Delete > Delete Posts
та перейдіть до вкладки By Taxonomy
.Post type of items to delete
вкажіть Записи
.Post Taxonomy
оберіть Категорії
.Post Status
можете обрати статус постів, які необхідно видалити.Delete Posts
.У цьому вся способі необхідно виконати SQL-запит до бази даних. Рекомендую використовувати зручну графічну утиліту phpMyAdmin
.
У вікні програми, на вкладці SQL
, вставте та виконайте по черзі наступні запити:
/* Подивитися, які пости будуть видалені */
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 = ID_рубрики;
В останньому рядку не забудьте замість рядка ID_рубрик
вставити ID рубрики, пости з якої потрібно видалити.
Цей код покаже, які записи буде видалено.
Щоб остаточно видалити, використовуйте наступний запит:
/* Видалити всі пости з конкретної рубрики, включаючи саму рубрику */
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 = ID_рубрики;
У цьому коді також замініть останній рядок.