Как удалить исправления записей?


Я не установил ограничение на количество редакций, из-за чего в некоторых моих публикациях более 20 редакций, так как удалить эти редакции?

Кстати, я использую WPMU и у меня много блогов, так как удалить версии WordPress для всех моих блогов?

Author: fuxia, 2012-10-16

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);
 10
Author: markratledge, 2012-10-16 04:41:35

Существует также плагин WP Optimize , который может помочь вам сделать это

С веб-сайта:

WP-Optimize - это инструмент для очистки и оптимизации базы данных WordPress 2.9++. Для оптимизации таблиц базы данных не требуется phpMyAdmin.

Это позволяет вам удалять исправления сообщений, комментарии в очереди спама, неподтвержденные комментарии в несколько кликов.

 2
Author: darronz, 2015-03-22 17:22:51

Чтобы удалить все ваши версии Wordpress, вы можете использовать этот запрос:

DELETE FROM wp_posts WHERE post_type = "revision";

 0
Author: deathlock, 2012-10-16 04:22:13

Вы также можете добавить этот код в файл вашей темы 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

 0
Author: NickMcB, 2015-03-22 17:23:44

Вы можете использовать плагин WP Sweep для очистки пост-редакций. После активации плагина перейдите в раздел "Инструменты", чтобы очистить вашу базу данных WordPress.

 0
Author: Ashin, 2019-03-17 15:24:53

Спасибо за ответ, маркратледж. Что-то в синтаксисе, касающемся {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';

Это сработало отлично.

 0
Author: feli_x, 2019-11-27 08:52:16