Відповіді:
Це набагато безпечніше запит на використання і видалить відповідні записи з PostMeta і term_relationship, в відміну від deathlocks запиту в своїй відповіді.
Змініть {id} на ідентифікатор кожної таблиці публікацій блогу. Ви можете комбінувати цей запит для запуску всіх таблиць публікацій одразу, але спробуйте це спочатку на одній таблиці. Я використовував його багато разів для одного встановлення 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";
DELETE FROM wp_n_posts WHERE post_type = "revision"
; за n разів, правда? але це досить нудно :(
Ви також можете додати цей код у файл теми 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
, якщо його немає, то він передає параметр функції, що обмежує поправки після публікації. У наведеному вище прикладі дописи обмежені трьома версіями.
Це хороше рішення при створенні тем для людей, які не знають, як (або не хочуть) додавати код.
Взято з wp-functions.com
Дякую за відповідь, відмітка. Щось у синтаксисі щодо {id} не працювало для мене. Я змінив {id} на 4009, один із своїх ідентифікаторів, але успіху не було. Я знайшов рішення на веб- сайті https://dev-notes.eu/2017/11/manage-and-safely-delete-reitions-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';
Це добре працювало.