函数文档

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

Return

void|false Void on success, false on failure.

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.