The clean_network_cache WordPress PHP action fires immediately after a network has been removed from the object cache.
Usage
add_action('clean_network_cache', 'your_custom_function');
function your_custom_function($id) {
// your custom code here
}
Parameters
$id: int, the Network ID.
More information
See WordPress Developer Resources: clean_network_cache
Examples
Clearing Transients for a Network
Clear all transients for a specific network when the network cache is cleaned.
add_action('clean_network_cache', 'clear_network_transients');
function clear_network_transients($network_id) {
// Get all transients for the network
$transients = get_network_option($network_id, '_transient_prefix');
// Loop through and delete each transient
foreach ($transients as $transient) {
delete_network_transient($network_id, $transient);
}
}
Logging Network Cache Clean
Log when the network cache is cleaned.
add_action('clean_network_cache', 'log_network_cache_clean');
function log_network_cache_clean($network_id) {
// Log the cache clean event
error_log("Network cache cleaned for network ID: {$network_id}");
}
Invalidate Cached Network Data
Invalidate cached network data when the network cache is cleaned.
add_action('clean_network_cache', 'invalidate_cached_network_data');
function invalidate_cached_network_data($network_id) {
// Invalidate the cache for the specific network
wp_cache_delete("network_data_{$network_id}");
}
Notify Admin on Network Cache Clean
Send an email notification to the admin when the network cache is cleaned.
add_action('clean_network_cache', 'notify_admin_network_cache_clean');
function notify_admin_network_cache_clean($network_id) {
// Get admin email
$admin_email = get_network_option($network_id, 'admin_email');
// Send email notification
wp_mail($admin_email, 'Network Cache Cleaned', "The network cache has been cleaned for network ID: {$network_id}");
}
Update Network Cleanup Timestamp
Update a network option with the timestamp of the last network cache clean.
add_action('clean_network_cache', 'update_network_cleanup_timestamp');
function update_network_cleanup_timestamp($network_id) {
// Update the network option with the current timestamp
update_network_option($network_id, 'last_cache_clean', time());
}