Cómo eliminar los transient de la Base de Datos

241

Los «transient» son una especie de referencias a cache y accesos RSS que se almacenan en la tabla wp_options de WordPress.

A veces son eliminadas automáticamente pero otras veces no, lo que puede causar que con el tiempo tu BD se llene de información obsoleta e inservible. Existen 2 maneras de eliminarlos:

Eliminar los Transients usando Plugins

Transients Manager

Delete Expired Transients

Demás esta decir que lo anteriores son plugins específicamente diseñados para esta tarea. En el caso de WP-Optimize es un plugin para optimización que incluye la opción de borrar los transients de la base de datos y otras opciones adicionales para optimizar tu base de datos.

WP-Optimize – Clean, Compress, Cache.

 

Eliminas los Transients sin plugins

Si sabes SQL o te gusta hacer las cosas a la manera profesional (esto solo es para usuarios avanzados) puedes hacer lo siguiente:

Ejecuta una consulta en la base de datos para ver el número de registros que tienes de este tipo:

SELECT * FROM wp_options WHERE option_name like '%transient%'

Y para borrarlos ejecuta esta consulta:

DELETE FROM wp_options WHERE option_name like '%transient%'

O bien puedes ir o una solución mas práctica untilizando un pequeño fragmento de código en tu WordPress. Puedes añadir este código al archivo functions.php o guardarlo como un Snippet.

add_action( 'wp_scheduled_delete', 'delete_expired_db_transients' );

function delete_expired_db_transients() {
global $wpdb, $_wp_using_ext_object_cache;
if( $_wp_using_ext_object_cache )
return;

$time = isset ( $_SERVER['REQUEST_TIME'] ) ? (int)$_SERVER['REQUEST_TIME'] : time() ;
$expired = $wpdb->get_col( "SELECT option_name FROM {$wpdb->options} 
WHERE option_name LIKE '_transient_timeout%' AND option_value < {$time};" );

foreach( $expired as $transient ) {

$key = str_replace('_transient_timeout_', '', $transient);
delete_transient($key);
}
}

 

¿Te ha resultado interesante este artículo?
También podría gustarte
Por favor espere, Cargando...
Do NOT follow this link or you will be banned from the site!