WordPress Version: 6.3
/**
* Cleans all user caches.
*
* @since 3.0.0
* @since 4.4.0 'clean_user_cache' action was added.
* @since 6.2.0 User metadata caches are now cleared.
*
* @param WP_User|int $user User object or ID to be cleaned from the cache
*/
function clean_user_cache($user)
{
if (is_numeric($user)) {
$user = new WP_User($user);
}
if (!$user->exists()) {
return;
}
wp_cache_delete($user->ID, 'users');
wp_cache_delete($user->user_login, 'userlogins');
wp_cache_delete($user->user_nicename, 'userslugs');
if (!empty($user->user_email)) {
wp_cache_delete($user->user_email, 'useremail');
}
wp_cache_delete($user->ID, 'user_meta');
wp_cache_set_users_last_changed();
/**
* Fires immediately after the given user's cache is cleaned.
*
* @since 4.4.0
*
* @param int $user_id User ID.
* @param WP_User $user User object.
*/
do_action('clean_user_cache', $user->ID, $user);
}