CMS Programación WordPress

Desactivar revisiones en WordPress

Cuando editas un post en WordPress, los contenidos se guardan en la base de datos cada cierto tiempo. Por un lado, siempre podemos revertir los cambios a una versión anterior en caso de que ocurra algo inesperado, pero por otro lado nuestra base de datos se irá llenando de contenidos innecesarios que ralentizarán las búsquedas en la base de datos y provocarán un innecesario aumento del tamaño de la misma. Existen varios mecanismos para configurar o desactivar por completo esta funcionalidad de autoguardado.

Limitar el número de revisiones máximas al número que queramos

Tenemos que editar el archivo wp-config.php, que suele encontrarse por defecto en el directorio raíz de WordPress. Sencillamente tenemos que agregar la siguiente línea:

define('WP_POST_REVISIONS', 3);

De este modo limitaremos las revisiones guardas a tres revisiones por cada entrada o post. Podemos escribir el número que queramos.

Configurar el tiempo que pasa entre que se guarda una revisión y la siguiente

De nuevo, editamos el archivo wp-config.php y agregamos la siguiente línea para establecer el tiempo que pasará entre que se guarda una revisión y se guarda la siguiente (en segundos):

define('AUTOSAVE_INTERVAL', 600);

En este caso hemos puesto 600 para que se guarde una versión cada 600 segundos, que son 10 minutos, pero podemos escribir los segundos que queramos.

Desactivar las revisiones en WordPress

Es posible desactivar por completo la funcionalidad de las revisiones; para ello abrimos el archivo wp-config.php y añadimos la siguiente línea:

define('WP_POST_REVISIONS', false);

De ahora en adelante no se almacenarán las revisiones, aunque las que ya existían en la base de datos seguirán estando ahí.

Eliminar las revisiones de la base de datos

Aunque configuremos la revisiones para que no se almacenen, sí seguirán estando las que ya existían previamente. Si queremos eliminar las revisiones existentes tenemos que introducir algunas consultas SQL, no si antes realizar una respaldo de la base de datos por si acaso ocurriese algún imprevisto. Entramos en phpMyAdmin o la utilidad que usemos para introducir consultas (un pequeño script en PHP también serviría) y ejecutamos la siguiente consulta:

DELETE FROM wp_posts WHERE post_type = 'revision';

Si nuestro prefijo de la base de datos no es wp, debemos cambiar el nombre de la tabla wp_posts. Si por ejemplo fuese miprefijo_posts, tendríamos que ejecutar:

DELETE FROM miprefijo_posts WHERE post_type = 'revision';

Resulta que con las consultas anteriores borraremos solamente el contenido principal del post, pero no los campos meta asociados que han podido ser añadidos tanto por nosotros como por cualquier plugin. Borraremos tanto su definición (tabla wp_term_relationships) como su valor (wp_postmeta). Para eliminarlos deberemos ejecutar la siguiente consulta:

DELETE a,b,c FROM wp_posts a WHERE a.post_type = 'revision' LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id);

Recordad cambiar los prefijos de las tablas en caso de que no utilicéis el prefijo por defecto.

Esto es todo amigos; espero que os haya sido útil.

EduZRO

<p>Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.</p>

No Comments

comment No comments yet

You can be first to leave a comment

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *