Удаляем старые записи в WordPress
1. Заходим в phpmyadmin и выбираем там нужную вам базу сайта.
2. Выбираем закладку SQL.
3. Вводим туда следующий запрос:
DELETE FROM `wp_posts`
WHERE `post_type` = 'post'
AND DATEDIFF(NOW(), `post_date`) > 1200
Здесь 1200 — это возраст постов в днях от текущей даты, старше которых вы хотите удалить.
Но это не всё. В результате у нас останутся повисшие строки в wp_postmeta,которые были связаны с уже удаленными постами. Их тоже надо прибить:
DELETE pm FROM wp_postmeta pm
LEFT JOIN wp_posts wp ON wp.ID = pm.post_id
WHERE wp.ID IS NULL
Ну и в конце концов надо будет почистить wp_term_relationships на предмет связей, которые вели к уже удаленным постам, а теперь не ведут никуда. Для начала давайте посмотрим, сколько у вас этого гугна:
SELECT * FROM wp_term_relationships
LEFT JOIN wp_posts ON wp_term_relationships.object_id = wp_posts.ID
WHERE wp_posts.ID is NULL;
Этот запрос ничего не чистит, он вам просто выведет связи, которые никуда не ведут.
DELETE wp_term_relationships FROM wp_term_relationships
LEFT JOIN wp_posts ON wp_term_relationships.object_id = wp_posts.ID
WHERE wp_posts.ID is NULL;
Ну вот, теперь прекрасно. Только не забудьте оптимизировать очищенные таблицы.