The clean_comment_cache WordPress PHP action fires immediately after a comment has been removed from the object cache.
Usage
add_action('clean_comment_cache', 'your_custom_function', 10, 1);
function your_custom_function($comment_id) {
// your custom code here
}
Parameters
$comment_id(int) – The Comment ID.
More information
See WordPress Developer Resources: clean_comment_cache
Examples
Log Cache Cleaning
Log when a comment cache is cleaned:
add_action('clean_comment_cache', 'log_comment_cache_clean', 10, 1);
function log_comment_cache_clean($comment_id) {
error_log("Comment cache cleaned for comment ID: {$comment_id}");
}
Custom Cache Deletion
Delete a custom cache related to the comment:
add_action('clean_comment_cache', 'delete_custom_comment_cache', 10, 1);
function delete_custom_comment_cache($comment_id) {
wp_cache_delete("custom_comment_{$comment_id}", 'custom_comment_group');
}
Update Comment Count
Update the comment count for the related post:
add_action('clean_comment_cache', 'update_post_comment_count', 10, 1);
function update_post_comment_count($comment_id) {
$comment = get_comment($comment_id);
$post_id = $comment->comment_post_ID;
wp_update_comment_count($post_id);
}
Notify Admin
Send a notification to the admin when a comment cache is cleaned:
add_action('clean_comment_cache', 'notify_admin_comment_cache_clean', 10, 1);
function notify_admin_comment_cache_clean($comment_id) {
$admin_email = get_option('admin_email');
$subject = "Comment Cache Cleaned: {$comment_id}";
$message = "The cache for comment ID {$comment_id} has been cleaned.";
wp_mail($admin_email, $subject, $message);
}
Clear Related Transient
Clear a transient related to the comment:
add_action('clean_comment_cache', 'clear_related_transient', 10, 1);
function clear_related_transient($comment_id) {
delete_transient("related_comments_{$comment_id}");
}