update_user_caches()
云策文档标注
概述
update_user_caches() 函数用于更新所有用户缓存,接受 WP_User 对象或数据库行作为参数,成功时返回 void,失败时返回 false。
关键要点
- 参数 $user 必须是 WP_User 对象或数据库行,用于缓存用户数据。
- 函数内部使用 wp_cache_add() 将用户 ID、登录名、昵称和邮箱(如果存在)添加到缓存中。
- 如果 $user 是 WP_User 对象且不存在,函数返回 false。
代码示例
function update_user_caches( $user ) {
if ( $user instanceof WP_User ) {
if ( ! $user->exists() ) {
return false;
}
$user = $user->data;
}
wp_cache_add( $user->ID, $user, 'users' );
wp_cache_add( $user->user_login, $user->ID, 'userlogins' );
wp_cache_add( $user->user_nicename, $user->ID, 'userslugs' );
if ( ! empty( $user->user_email ) ) {
wp_cache_add( $user->user_email, $user->ID, 'useremail' );
}
}注意事项
- 此函数自 WordPress 3.0.0 版本引入。
- 相关函数包括 wp_cache_add()、WP_User::get_data_by() 和 cache_users()。
原文内容
Updates all user caches.
Parameters
$userobject|WP_Userrequired-
User object or database row to be cached
Source
function update_user_caches( $user ) {
if ( $user instanceof WP_User ) {
if ( ! $user->exists() ) {
return false;
}
$user = $user->data;
}
wp_cache_add( $user->ID, $user, 'users' );
wp_cache_add( $user->user_login, $user->ID, 'userlogins' );
wp_cache_add( $user->user_nicename, $user->ID, 'userslugs' );
if ( ! empty( $user->user_email ) ) {
wp_cache_add( $user->user_email, $user->ID, 'useremail' );
}
}
Changelog
| Version | Description |
|---|---|
| 3.0.0 | Introduced. |