wp_set_current_user

函数
wp_set_current_user ( $id, $name = '' )
参数
  • (int|null) $id User ID.
    Required:
  • (string) $name User's username.
    Required:
    Default: (empty)
返回值
  • (WP_User) Current user User object.
定义位置
相关方法
wp_get_current_user_wp_get_current_userset_current_userget_current_user_idset_current_screen
引入
2.0.3
弃用
-

wp_set_current_user: 这是一个WordPress的函数,用于设置当前用户。它允许你将当前用户设置为一个特定的用户ID,这可以用来作为该用户进行操作,如更新他们的个人资料或代表他们创建一个文章。

通过ID或名字改变当前用户。

如果你不知道一个用户的ID,可以将$id设置为null并指定一个名字。

一些WordPress的功能是基于当前用户的,而不是基于登录用户的。因此,它开启了对未登录的用户进行编辑和执行操作的权限。

function wp_set_current_user( $id, $name = '' ) {
		global $current_user;

		// If `$id` matches the current user, there is nothing to do.
		if ( isset( $current_user )
		&& ( $current_user instanceof WP_User )
		&& ( $id == $current_user->ID )
		&& ( null !== $id )
		) {
			return $current_user;
		}

		$current_user = new WP_User( $id, $name );

		setup_userdata( $current_user->ID );

		/**
		 * Fires after the current user is set.
		 *
		 * @since 2.0.1
		 */
		do_action( 'set_current_user' );

		return $current_user;
	}
endif;

if ( ! function_exists( 'wp_get_current_user' ) ) :
	/**
	 * Retrieves the current user object.
	 *
	 * Will set the current user, if the current user is not set. The current user
	 * will be set to the logged-in person. If no user is logged-in, then it will
	 * set the current user to 0, which is invalid and won't have any permissions.
	 *
	 * @since 2.0.3
	 *
	 * @see _wp_get_current_user()
	 * @global WP_User $current_user Checks if the current user is set.
	 *
	 * @return WP_User Current WP_User instance.
	 */

常见问题

FAQs
查看更多 >