当前位置:首页>Wordpress教程>WordPress实现登录后才可查看网站教程

WordPress实现登录后才可查看网站教程

如果网站内容只希望注册用户浏览,对其他人隐藏,今天为大家分享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;

}

}

}

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

文章链接:https://www.7zt.cn/3388.html
文章标题:WordPress实现登录后才可查看网站教程
文章版权:柒主题 所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!
本文最后更新发布于2022年11月22日 0时01分53秒,某些文章具有时效性,若有错误或已失效,请在下方留言或联系:21660010@qq.com
声明 本站上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。无意侵害您的权益,请发送邮件至 柒主题 或点击右侧 私信:站长 反馈,我们将尽快处理。

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