WordPress 登录后如何查看网站

Ourboke
Ourboke
Ourboke
404
文章
103
评论
2021年2月4日09:13:50
评论
29 1136字

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

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;
    		}
    	}
    }

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

Ourboke
  • 本文由 发表于 2021年2月4日09:13:50
  • 转载请务必保留本文链接:https://www.ourboke.com/1988.html
WordPress 该如何防御DDOS攻击 WordPress

WordPress 该如何防御DDOS攻击

WordPress如何防御DDOS攻击?我们都知道不管是什么语言的建站都难避免被攻击的伤害。特别是DDOS攻击,那么该如何防御呢?在这之前我们应该先弄清楚什么是DDOS! WordPress 该如何防...
如何手动开启 WordPress 站点维护模式 WordPress

如何手动开启 WordPress 站点维护模式

我们在平时更新程序或插件中,WordPress前端会显示处于维护模式,在这时,如果想临时启用维护模式,让用户知道你的站点在维护中,可以通过下面的代码实现。 如何手动开启 WordPress 站点维护模...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: