WordPress 登录查看网站

如网站内容只希望注册用户浏览,对其他所有人隐藏,浏览者未登录访问直接跳转到登录注册页面,可以用下面的代码实现。

WordPress 登录访问网站

将下面代码添加到当前主题函数模板functions.php中:

代码一 未登录访问网站直接跳转到默认登录页面。

	add_action( \'wp\', \'login_access\' );
	function login_access() {
		global $pagenow;
		if( !is_user_logged_in() && $pagenow != \'wp-login.php\' )
		auth_redirect();
	}

代码二 未登录访问网站,可以302跳转到自定义的页面

add_action( \'template_redirect\', \'zm_force_login\' );
function zm_force_login() {
	// 判断登录
	if ( ! is_user_logged_in() ) {
		// 判断HTTPS
		$schema = isset( $_SERVER[\'HTTPS\'] ) && \'on\' === $_SERVER[\'HTTPS\'] ? \'https://\' : \'http://\';
		// 判断站内链接
		$url = $schema . $_SERVER[\'HTTP_HOST\'] . $_SERVER[\'REQUEST_URI\'];
		// 添加白名单
		$allowed = apply_filters_deprecated( \'zm_force_login_whitelist\', array( array( \'允许访问的链接1\', \'允许访问链接2\' ) ), \'1.0\', \'zm_force_login_bypass\' );
		$bypass = apply_filters( \'zm_force_login_bypass\', in_array( $url, $allowed ), $url );
		if ( preg_replace( \'/\\?.*/\', \'\', $url ) !== preg_replace( \'/\\?.*/\', \'\', wp_login_url() ) && ! $bypass ) {
			// 防止缓存
			nocache_headers();
			// 跳转的页面链接
			$page = \'跳转到的页面链接\';
			// 执行302跳转
			wp_safe_redirect( $page, 302 );
			// 跳转到默认登录页面
			// wp_safe_redirect( wp_login_url(), 302 );
			exit;
		}
	}
}

注:跳转的页面链接要同时加到白名单中,否则会形成死循环。

代码取自:Force Login

另一款类似的插件:Registered Users Only

    © 版权声明
    THE END
    喜欢就支持一下吧
    点赞0 分享
    评论 抢沙发

    请登录后发表评论

      暂无评论内容