Как удалить исправления записей?
Я не установил ограничение на количество редакций, из-за чего в некоторых моих публикациях более 20 редакций, так как удалить эти редакции?
Кстати, я использую WPMU и у меня много блогов, так как удалить версии WordPress для всех моих блогов?
6 answers
Этот запрос намного безопаснее в использовании и удалит связанные записи из postmeta и term_relationship, в отличие от запроса deathlocks в его ответе.
Измените {id} на идентификатор каждой таблицы записей в блоге. Вы можете объединить этот запрос для одновременного запуска всех таблиц post, но сначала попробуйте выполнить это для одной таблицы. Я использовал его много раз при установке одного WP.
DELETE a,b,c
FROM wp_{id}_posts a
LEFT JOIN wp_{id}_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_{id}_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision'
После запуска оптимизируйте базу данных в phpmyadmin.
И добавьте эту строку в верхней части wp-config.php чтобы предотвратить будущие изменения:
define('WP_POST_REVISIONS', 0);
Или сохраните одну редакцию:
define('WP_POST_REVISIONS', 1);
Существует также плагин WP Optimize , который может помочь вам сделать это
С веб-сайта:
WP-Optimize - это инструмент для очистки и оптимизации базы данных WordPress 2.9++. Для оптимизации таблиц базы данных не требуется phpMyAdmin.
Это позволяет вам удалять исправления сообщений, комментарии в очереди спама, неподтвержденные комментарии в несколько кликов.
Чтобы удалить все ваши версии Wordpress, вы можете использовать этот запрос:
DELETE FROM wp_posts WHERE post_type = "revision";
Вы также можете добавить этот код в файл вашей темы functions.php
:
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', 3);
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', false);
Этот код проверяет, был ли установлен предел WP_POST_REVISIONS
в wp-config.php
, если нет, то он передает параметр функции, которая ограничивает изменения после. В приведенном выше примере публикации ограничены 3 редакциями.
Это хорошее решение при создании тем для людей, которые не знают, как (или не хотят) добавлять код.
Взято из wp-functions.com
Вы можете использовать плагин WP Sweep для очистки пост-редакций. После активации плагина перейдите в раздел "Инструменты", чтобы очистить вашу базу данных WordPress.
Спасибо за ответ, маркратледж. Что-то в синтаксисе, касающемся {id}, не сработало для меня. Я изменил {id} на 4009, один из моих почтовых идентификаторов, но безуспешно. Я нашел решение на https://dev-notes.eu/2017/11/manage-and-safely-delete-revisions-in-wordpress/
DELETE a,b,c 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)
WHERE a.post_type = 'revision';
Это сработало отлично.