auth_redirect()

auth_redirect()函数是Wordpress函数,检查用户是否已登录,如果未登录,则将其重定向到登录页。

检查用户是否已登录,如果未登录,则将其重定向到登录页。
Checks if a user is logged in, if not it redirects them to the login page.

说明(Description)

当从页面调用此代码时,它将检查查看页面的用户是否已登录。如果用户未登录,则会将其重定向到登录页。用户被重定向到这样一种方式,即在登录时,他们将被直接发送到他们最初试图访问的页面。


返回(Return)

无返回值


源码(Source)

/**
 * Checks if a user is logged in, if not it redirects them to the login page.
 *
 * @since 1.5.0
 */
function auth_redirect() {
	// Checks if a user is logged in, if not redirects them to the login page
	$secure = ( is_ssl() || force_ssl_admin() );
	/**
	 * Filter whether to use a secure authentication redirect.
	 *
	 * @since 3.1.0
	 *
	 * @param bool $secure Whether to use a secure authentication redirect. Default false.
	 */
	$secure = apply_filters( 'secure_auth_redirect', $secure );
	// If https is required and request is http, redirect
	if ( $secure && !is_ssl() && false !== strpos($_SERVER['REQUEST_URI'], 'wp-admin') ) {
		if ( 0 === strpos( $_SERVER['REQUEST_URI'], 'http' ) ) {
			wp_redirect( set_url_scheme( $_SERVER['REQUEST_URI'], 'https' ) );
			exit();
		} else {
			wp_redirect( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
			exit();
		}
	}
	if ( is_user_admin() ) {
		$scheme = 'logged_in';
	} else {
		/**
		 * Filter the authentication redirect scheme.
		 *
		 * @since 2.9.0
		 *
		 * @param string $scheme Authentication redirect scheme. Default empty.
		 */
		$scheme = apply_filters( 'auth_redirect_scheme', '' );
	}
	if ( $user_id = wp_validate_auth_cookie( '',  $scheme) ) {
		/**
		 * Fires before the authentication redirect.
		 *
		 * @since 2.8.0
		 *
		 * @param int $user_id User ID.
		 */
		do_action( 'auth_redirect', $user_id );
		// If the user wants ssl but the session is not ssl, redirect.
		if ( !$secure && get_user_option('use_ssl', $user_id) && false !== strpos($_SERVER['REQUEST_URI'], 'wp-admin') ) {
			if ( 0 === strpos( $_SERVER['REQUEST_URI'], 'http' ) ) {
				wp_redirect( set_url_scheme( $_SERVER['REQUEST_URI'], 'https' ) );
				exit();
			} else {
				wp_redirect( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
				exit();
			}
		}
		return;  // The cookie is good so we're done
	}
	// The cookie is no good so force login
	nocache_headers();
	$redirect = ( strpos( $_SERVER['REQUEST_URI'], '/options.php' ) && wp_get_referer() ) ? wp_get_referer() : set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
	$login_url = wp_login_url($redirect, true);
	wp_redirect($login_url);
	exit();
}
endif;
if ( !function_exists('check_admin_referer') ) :
更新版本源码位置使用被使用
1.5.0wp-includes/pluggable.php:10301 function14

笔记(Notes)

需要用户登录才能查看页面

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索