The clean_term_cache WordPress PHP action fires once after each taxonomy’s term cache has been cleaned.
Usage
add_action('clean_term_cache', 'my_custom_function', 10, 3); function my_custom_function($ids, $taxonomy, $clean_taxonomy) { // your custom code here }
Parameters
$ids
(array): An array of term IDs.$taxonomy
(string): Taxonomy slug.$clean_taxonomy
(bool): Whether or not to clean taxonomy-wide caches.
More information
See WordPress Developer Resources: clean_term_cache
Examples
Log Term Cache Cleaning
Log when the term cache is cleaned for a specific taxonomy.
add_action('clean_term_cache', 'log_term_cache_cleaning', 10, 3); function log_term_cache_cleaning($ids, $taxonomy, $clean_taxonomy) { if ($taxonomy === 'my_custom_taxonomy') { error_log('Term cache cleaned for custom taxonomy.'); } }
Clear Transient on Term Cache Cleaning
Clear a transient when the term cache is cleaned.
add_action('clean_term_cache', 'clear_transient_on_term_cache_clean', 10, 3); function clear_transient_on_term_cache_clean($ids, $taxonomy, $clean_taxonomy) { delete_transient('my_custom_transient'); }
Custom Cache Cleanup for Custom Taxonomy
Perform custom cache cleanup for a custom taxonomy when the term cache is cleaned.
add_action('clean_term_cache', 'custom_cache_cleanup', 10, 3); function custom_cache_cleanup($ids, $taxonomy, $clean_taxonomy) { if ($taxonomy === 'my_custom_taxonomy') { // Perform custom cache cleanup } }
Update Post Count for Custom Taxonomy
Update the post count for a custom taxonomy when the term cache is cleaned.
add_action('clean_term_cache', 'update_post_count_for_custom_taxonomy', 10, 3); function update_post_count_for_custom_taxonomy($ids, $taxonomy, $clean_taxonomy) { if ($taxonomy === 'my_custom_taxonomy') { // Update post count for custom taxonomy } }
Notify Admin on Term Cache Cleaning
Send an email notification to the admin when the term cache is cleaned.
add_action('clean_term_cache', 'notify_admin_on_term_cache_clean', 10, 3); function notify_admin_on_term_cache_clean($ids, $taxonomy, $clean_taxonomy) { $to = get_option('admin_email'); $subject = 'Term Cache Cleaned'; $message = 'The term cache has been cleaned for the taxonomy: ' . $taxonomy; wp_mail($to, $subject, $message); }