How to Clear Cache on WordPress
In a project, we needed to clear all cache while saving a custom post type, but how we didn’t know that cache plugin the customer going to use then we did a script that works in the most popular cache plugins.
We use the save_post hook to do the script, but it too works in init hook.
<?php
if( ! function_exists('letsgo_clear_cache') ) {
function letsgo_clear_cache() {
// WP Rocket
if ( function_exists( 'rocket_clean_domain' ) ) {
rocket_clean_domain();
}
// W3 Total Cache : w3tc
if ( function_exists( 'w3tc_pgcache_flush' ) ) {
w3tc_pgcache_flush();
}
// WP Super Cache : wp-super-cache
if ( function_exists( 'wp_cache_clear_cache' ) ) {
wp_cache_clear_cache();
}
// WP Fastest Cache
if( function_exists('wpfc_clear_all_cache') ) {
wpfc_clear_all_cache(true);
}
// WPEngine
if ( class_exists( 'WpeCommon' ) && method_exists( 'WpeCommon', 'purge_memcached' ) ) {
WpeCommon::purge_memcached();
WpeCommon::purge_varnish_cache();
}
// SG Optimizer by Siteground
if ( function_exists( 'sg_cachepress_purge_cache' ) ) {
sg_cachepress_purge_cache();
}
// LiteSpeed
if( class_exists('LiteSpeed_Cache_API') && method_exists('LiteSpeed_Cache_API', 'purge_all') ) {
LiteSpeed_Cache_API::purge_all();
}
// Cache Enabler
if( class_exists('Cache_Enabler') && method_exists('Cache_Enabler', 'clear_total_cache') ) {
Cache_Enabler::clear_total_cache();
}
// Pagely
if ( class_exists('PagelyCachePurge') && method_exists('PagelyCachePurge','purgeAll') ) {
PagelyCachePurge::purgeAll();
}
// Autoptimize
if( class_exists('autoptimizeCache') && method_exists( 'autoptimizeCache', 'clearall') ) {
autoptimizeCache::clearall();
}
// Comet cache
if( class_exists('comet_cache') && method_exists('comet_cache', 'clear') ) {
comet_cache::clear();
}
// Hummingbird Cache
if( class_exists('\Hummingbird\WP_Hummingbird') &&
method_exists('\Hummingbird\WP_Hummingbird', 'flush_cache')
) {
\Hummingbird\WP_Hummingbird::flush_cache();
}
}
add_action( 'save_post', 'letsgo_clear_cache' );
}
Use it wisely 🙂
