Come eliminare le revisioni post?


9

Non ho impostato un limite al numero di revisioni, il che rende alcuni dei miei post più di 20 revisioni, quindi come eliminare queste revisioni?

A proposito, sto usando WPMU e ho molti blog, quindi come eliminare le revisioni di WordPress per tutti i miei blog?

Risposte:


10

Questa è una domanda molto più sicuro da usare e rimuovere le voci correlate dal postmeta e term_relationship, a differenza deathlocks interrogazione nella sua risposta.

Cambia {id} nell'id di ogni tabella di post di blog. Puoi combinare questa query per eseguire contemporaneamente tutte le tabelle di post, ma prova prima su una tabella. L'ho usato molte volte su installazioni WP singole.

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'

Dopo averlo eseguito, ottimizza il database in phpmyadmin.

E aggiungi questa riga nella parte superiore di wp-config.php per impedire future revisioni:

define('WP_POST_REVISIONS', 0);

o salva una revisione:

define('WP_POST_REVISIONS', 1);

Hai ragione, anche questo è molto efficiente ... ho pubblicato la mia risposta in fretta e non ho notato anche la parte WP MU. +1.
Deathlock

e come rimuovere le revisioni tranne diciamo gli ultimi 3?
Matoeil,

2

C'è anche un plugin, WP Optimize che può aiutarti a farlo

Dal sito Web:

WP-Optimize è uno strumento di pulizia e ottimizzazione del database WordPress 2.9 ++. Non richiede PhpMyAdmin per ottimizzare le tabelle del database.

Ti consente di rimuovere revisioni post, commenti nella coda di spam, commenti non approvati in pochi clic.


Descrivi cosa fa il plugin e come risolve il problema.
fuxia

1
Esistono molti plugin che puliscono le revisioni e ottimizzano senza phpmyadmin; nessuno di essi è chiaramente indicato per funzionare con WPMU o multisito.
markratledge,

questo plugin danneggerà il mio database?
hugemeow,

Ho usato il plugin su un paio di siti che eseguo senza problemi. Ma è sempre una buona idea fare prima il backup del tuo db (ma questa è solo la migliore pratica).
darronz,

0

Per eliminare tutte le revisioni di Wordpress, è possibile utilizzare questa query:

DELETE FROM wp_posts WHERE post_type = "revision";


ho più di 100 blog su wpmu, quindi dovrei correre DELETE FROM wp_n_posts WHERE post_type = "revision"; per n volte, giusto? ma questo è abbastanza noioso :(
hugemeow,

0

Puoi anche aggiungere questo codice al functions.phpfile del tuo tema :

if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', 3);
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', false);

Questo codice controlla se WP_POST_REVISIONSè stato impostato il limite wp-config.php, In caso contrario passa un parametro alla funzione che limita le revisioni post. Nell'esempio sopra, i post sono limitati a 3 revisioni.

Questa è una buona soluzione quando si creano temi per le persone che non sanno (o non vogliono) aggiungere codice.

Tratto da wp-functions.com


2
Questa risposta non parla dell'eliminazione delle revisioni. Ma è un buon consiglio su come disabilitare le revisioni per i contenuti futuri.
Nilambar Sharma,

0

È possibile utilizzare il plug-in WP Sweep per pulire le revisioni post. Dopo aver attivato il plug-in, vai su Strumenti »Sweep per pulire il database di WordPress.


0

Grazie per la risposta, markratledge. Qualcosa nella sintassi riguardante {id} non ha funzionato per me. Ho cambiato {id} in 4009, uno dei miei ID post, ma senza successo. Ho trovato una soluzione su 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';

Funzionava bene.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.