Levysoft

Come disattivare la revisione dei post di WordPress 2.6, cancellare le righe inutili delle revisioni dalla tabella wp-posts e modificare l’intervallo di tempo per i salvataggi automatici dei post

Per i blog monoautore, l’ultima interessante novità introdotta con la release 2.6 WordPress, la gestione delle revisioni dei post (Post Revisions Tracking) per tenere traccia delle modifiche di ogni articolo e pagina, risulta essere inutile. Infatti, con questa nuova funzionalità è possibile vedere le modifiche che avete apportato e quando, a qualsiasi news postata, il tutto attraverso un interfaccia semplice, con la possibilità di ripristinare la versione precedentemente salvata.

E’ ovvio che questo genere di caratteristica si addice maggiormente ad un blog multiautore, in cui è presente un revisore che ha la responsabilità, prima di pubblicare un articolo, di controllare e correggere un post di un suo collaboratore. Per tutti coloro che, invece, essendo gli unici autori del blog, non necessitano di questa funzionalità, esiste la possibilità di disattivare la gestione delle revisioni, risparmiando, così, spazio sul database (in particolare in ogni riga della tabella wp_post) e risorse per gestirlo.

Considerate, però, che il numero di revisioni salvate corrisponde esclusivamente al numero di salvataggi manuali che effettuerete, mentre quelli automatici non lo influenzerà. Quindi il loro peso sul database, sarà funzione di quante volte siete soliti premete sul pulsante “Salva” mentre state scrivendo un articolo: io, per esempio, con soli due post ho ho accumulato ben 41 revisioni!

Come disattivare la gestione delle revisioni su WordPress 2.6

Per disattivare la revisione dei post sarà sufficiente aggiungere la seguente riga nel file wp-config.php:

E’ strano, però, che si debba mettere mano direttamente al codice di WordPress, piuttosto che prevedere una semplice opzione da attivare/disattivare dal Pannello di Amministrazione di WordPress (magari con un plugin si potrebbe sopperire a questa mancanza). Inoltre, sarebbe stato anche auspicabile che questa opzione fosse stata disattivata di default, visto che la maggior parte dei blog sono monoautore.

Analisi delle modifiche apportate al DB per inserire le revisioni

Quando la funzionalità di Post Revisioning doveva essere sviluppata su WordPress, i programmatori avevano pensato, inizialmente, di creare una nuova tabella chiamata: wp_post_revisions (che tendeva, per sua stessa natura, a crescere a dismisura).
In realtà, forse a causa della lentezza delle interrogazioni, o per uniformare i dati, le revisioni dei post sono poi stati incluse direttamente nella tabella wp_posts e identificata dai seguenti valori dei campi:

post_type= “revision”
e
post_status = “inherit”

Inoltre sono stati aggiunti e modificate anche alcune funzionalità di altri campi: è stato aggiunto, per esempio, il campo post_parent (che riporta l’ID del post principale), mentre il campo post_name ora contiene, oltre il titolo del post principale, anche il titolo delle revisioni (p.es. 1834-revision, 1834-revision-2, 1834-revision-3, 1834-revision-4, etc…).

In pratica, se prima un nuovo articolo veniva identificato da un inserimento di una singola riga nella tabella wp_posts, ora, con la release 2.6 di WordPress, ad ogni post corrispondono 5, 10, 15 riga nella tabella, a seconda del numero di revisioni salvate (che corrispondono al numero di salvataggi manuali, e non automatici, effettuati).
Cosa comporta ciò? Che in pratica lo spazio occupato per ogni post viene decuplicato inutilmente. Inoltre, se prima, a meno di cancellazioni, ad ogni ID corrispondeva un post diverso, ora l’identificativo è usato sia per indicare un articolo che per indicare una revisione. Ciò significa che un post con ID=1830 potrebbe essere seguito non più da un post con ID=1831 ma, bensì, come è successo a me, da un ID?1845!

Pulire il database dalle revisioni salvate sino a quel momento

Ecco che, quindi, dopo aver disattivato le revisioni dei post conviene anche eliminare tutte le righe aggiunte per le revisioni scrivendo questa query da PhpMyAdmin (abbiate prima l’accortezza, però di effettuare un preventivo backup dell’intero database o, almeno, della tabella wp_posts):

Se, volete essere sicuri di andare a cancellare solamente le revisioni e non altri post pubblicati, potete fare prima una select con gli stessi parametri:

e quindi cancellare tutte le revisioni con il precedente comando SQL.

Modificare l’intervallo di tempo per i salvataggi automatici dei post

Infine, dato che prima avete messo le mani nel file wp-config, dovete sapere che è possibile anche cambiare l’intervallo temporale con cui WordPress effettua i salvataggi automatici dei post.
Basterà, infatti, aprire il file wp-config ed inserire la seguente riga:

Dove al posto di 60 (che indica l’intervallo temporale espresso in secondi), potete inserire qualunque valore numerico a vostra scelta.