The clean_site_cache WordPress PHP action fires immediately after a site has been removed from the object cache.
Usage
add_action('clean_site_cache', 'my_custom_function', 10, 3);
function my_custom_function($id, $blog, $domain_path_key) {
// your custom code here
}
Parameters
$id(string): Site ID as a numeric string.$blog(WP_Site): Site object.$domain_path_key(string): md5 hash of domain and path.
More information
See WordPress Developer Resources: clean_site_cache
Examples
Log cache cleaning
Log the site ID when the cache is cleaned.
add_action('clean_site_cache', 'log_cache_clean', 10, 3);
function log_cache_clean($id, $blog, $domain_path_key) {
error_log("Cache cleaned for site ID: " . $id);
}
Notify admin
Send an email to the admin when the site cache is cleaned.
add_action('clean_site_cache', 'notify_admin_cache_clean', 10, 3);
function notify_admin_cache_clean($id, $blog, $domain_path_key) {
$admin_email = get_option('admin_email');
wp_mail($admin_email, 'Site Cache Cleaned', 'The site cache has been cleaned for site ID: ' . $id);
}
Update cache cleaning timestamp
Update a custom option with the timestamp of the last cache cleaning.
add_action('clean_site_cache', 'update_cache_clean_timestamp', 10, 3);
function update_cache_clean_timestamp($id, $blog, $domain_path_key) {
update_option('last_cache_clean_timestamp', time());
}
Invalidate CDN cache
Invalidate the CDN cache when the site cache is cleaned.
add_action('clean_site_cache', 'invalidate_cdn_cache', 10, 3);
function invalidate_cdn_cache($id, $blog, $domain_path_key) {
// Call to the CDN API to invalidate the cache
}
Reset custom cache
Reset a custom cache when the site cache is cleaned.
add_action('clean_site_cache', 'reset_custom_cache', 10, 3);
function reset_custom_cache($id, $blog, $domain_path_key) {
// Code to reset your custom cache
}