clean_user_cache( WP_User|int $user )
Clean all user caches
Parameters
- $user
-
(WP_User|int) (Required) User object or ID to be cleaned from the cache
Source
File: wp-includes/user.php
function clean_user_cache( $user ) {
global $current_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_email, 'useremail' );
wp_cache_delete( $user->user_nicename, 'userslugs' );
/**
* 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 );
// Refresh the global user instance if the cleaning current user.
if ( get_current_user_id() === (int) $user->ID ) {
$user_id = (int) $user->ID;
$current_user = null;
wp_set_current_user( $user_id, '' );
}
} Changelog
| Version | Description |
|---|---|
| 5.8.0 | Refreshes the global user instance if cleaning the user cache for the current user. |
| 4.4.0 | 'clean_user_cache' action was added. |
| 3.0.0 | Introduced. |
© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/clean_user_cache