_wp_get_current_user

函数
_wp_get_current_user ( No parameters )
Access
Private
返回值
  • (WP_User) Current WP_User instance.
相关
  • wp_get_current_user()
定义位置
相关方法
wp_get_current_userwp_set_current_userset_current_userget_current_user_idget_current_site
引入
4.5.0
弃用
-

_wp_get_current_user: 这是一个WordPress的函数,用来检索当前的用户对象,它包含了当前登录用户的信息,如他们的用户名、电子邮件地址、显示名称等等: 这个函数可以用来检查一个用户是否已经登录,并检索他们的用户信息,以便在代码中使用。

检索当前用户对象。

将设置当前用户,如果当前用户未被设置: 当前用户将被设置为已登录的人。如果没有登录的用户,那么它将设置当前用户为0,这是无效的,不会有任何权限。 设置当前用户为0,这是无效的,不会有任何权限。

这个函数被可插拔的函数wp_get_current_user()和get_currentuserinfo()使用,后者已被弃用,但为了向后兼容而使用。

function _wp_get_current_user() {
	global $current_user;

	if ( ! empty( $current_user ) ) {
		if ( $current_user instanceof WP_User ) {
			return $current_user;
		}

		// Upgrade stdClass to WP_User.
		if ( is_object( $current_user ) && isset( $current_user->ID ) ) {
			$cur_id       = $current_user->ID;
			$current_user = null;
			wp_set_current_user( $cur_id );
			return $current_user;
		}

		// $current_user has a junk value. Force to WP_User with ID 0.
		$current_user = null;
		wp_set_current_user( 0 );
		return $current_user;
	}

	if ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST ) {
		wp_set_current_user( 0 );
		return $current_user;
	}

	/**
	 * Filters the current user.
	 *
	 * The default filters use this to determine the current user from the
	 * request's cookies, if available.
	 *
	 * Returning a value of false will effectively short-circuit setting
	 * the current user.
	 *
	 * @since 3.9.0
	 *
	 * @param int|false $user_id User ID if one has been determined, false otherwise.
	 */
	$user_id = apply_filters( 'determine_current_user', false );
	if ( ! $user_id ) {
		wp_set_current_user( 0 );
		return $current_user;
	}

	wp_set_current_user( $user_id );

	return $current_user;
}

常见问题

FAQs
查看更多 >