Respostas:
Essa é uma consulta muito mais segura de usar e removerá as entradas relacionadas do postmeta e term_relationship, ao contrário da consulta de deadlocks em sua resposta.
Altere o {id} para o id de cada tabela de postagens do blog. Você pode combinar esta consulta para executar todas as tabelas de postagem de uma só vez, mas tente isso em uma tabela primeiro. Eu o usei várias vezes em instalações WP únicas.
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'
Depois de executá-lo, otimize o banco de dados no phpmyadmin.
E adicione esta linha na parte superior do wp-config.php para evitar futuras revisões:
define('WP_POST_REVISIONS', 0);
ou salve uma revisão:
define('WP_POST_REVISIONS', 1);
Há também um plug-in, o WP Optimize, que pode ajudá-lo a fazer isso
A partir do site:
O WP-Optimize é uma ferramenta de limpeza e otimização de banco de dados do WordPress 2.9 ++. Não é necessário que o PhpMyAdmin otimize suas tabelas de banco de dados.
Ele permite remover revisões de postagem, comentários na fila de spam e comentários não aprovados em apenas alguns cliques.
Para excluir todas as suas revisões do Wordpress, você pode usar esta consulta:
DELETE FROM wp_posts WHERE post_type = "revision";
DELETE FROM wp_n_posts WHERE post_type = "revision"
; por n vezes, certo? mas isso é muito chato :(
Você também pode adicionar este código ao functions.php
arquivo do seu tema :
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', 3);
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', false);
Esse código verifica se o WP_POST_REVISIONS
limite foi definido wp-config.php
. Caso contrário, ele passa um parâmetro para a função que limita as revisões posteriores. No exemplo acima, as postagens estão limitadas a 3 revisões.
Essa é uma boa solução ao criar temas para pessoas que não sabem (ou não querem) adicionar código.
Retirado de wp-functions.com
Obrigado pela resposta, markratledge. Algo na sintaxe referente ao {id} não funcionou para mim. Alterei {id} para 4009, um dos meus IDs de postagem, mas sem sucesso. Encontrei uma solução em 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';
Isso funcionou bem.