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 🙂