web-dev-qa-db-fra.com

Comment purger tous les caches transitoires?

Existe-t-il un moyen simple de supprimer tous les caches transitoires? Un plugin peut-être? Ou comme dans drupal "drush cc all"?

2
Marc

Non testé, mais si vous avez besoin d'un moyen rapide et sale, vous pouvez mettre un script comme celui-ci dans votre dossier WordPress et l'appeler à chaque fois:

define( 'WP_USE_THEMES', false );
require('wp-blog-header.php');

global $wpdb;
$wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE '%\_transient\_%'" );

Ne pas utiliser sur un serveur de production.

3
RRikesh

Si vous pouvez accéder à votre base de données via phpmyadmin ou quelque chose d'équivalent, je vous recommanderais d'utiliser ceci:

DELETE a, b FROM wp_options a, wp_options b  WHERE a.option_name LIKE '_transient_%' 
AND a.option_name 
NOT LIKE '_transient_timeout_%' 
AND b.option_name = CONCAT( '_transient_timeout_', SUBSTRING( a.option_name, CHAR_LENGTH('_transient_') + 1 ) ) AND b.option_value < UNIX_TIMESTAMP()
1
JMau