WordPress怎么实现登录后查看网站内容

飞鸟 wordpress 源码分享评论1,298阅读模式
广告也精彩

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

将下面代码添加到当前主题函数模板functions.php中:文章源自飞鸟学习网-https://www.pk88.net/2021-0322-3.html

代码一 未登录访问网站直接跳转到默认登录页面。文章源自飞鸟学习网-https://www.pk88.net/2021-0322-3.html

  1. add_action( 'wp', 'login_access' );
  2. function login_access() {
  3. global $pagenow;
  4. if( !is_user_logged_in() && $pagenow != 'wp-login.php' )
  5. auth_redirect();
  6. }

代码二 未登录访问网站,可以302跳转到自定义的页面文章源自飞鸟学习网-https://www.pk88.net/2021-0322-3.html

  1. add_action( 'template_redirect', 'zm_force_login' );
  2. function zm_force_login() {
  3. // 判断登录
  4. if ( ! is_user_logged_in() ) {
  5. // 判断HTTPS
  6. $schema = isset( $_SERVER['HTTPS'] ) && 'on' === $_SERVER['HTTPS'] ? 'https://' : 'http://';
  7. // 判断站内链接
  8. $url = $schema . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
  9. // 添加白名单
  10. $allowed = apply_filters_deprecated( 'zm_force_login_whitelist', array( array( '允许访问的链接1', '允许访问链接2' ) ), '1.0', 'zm_force_login_bypass' );
  11. $bypass = apply_filters( 'zm_force_login_bypass', in_array( $url, $allowed ), $url );
  12. if ( preg_replace( '/\?.*/', '', $url ) !== preg_replace( '/\?.*/', '', wp_login_url() ) && ! $bypass ) {
  13. // 防止缓存
  14. nocache_headers();
  15. // 跳转的页面链接
  16. $page = '跳转到的页面链接';
  17. // 执行302跳转
  18. wp_safe_redirect( $page, 302 );
  19. // 跳转到默认登录页面
  20. // wp_safe_redirect( wp_login_url(), 302 );
  21. exit;
  22. }
  23. }
  24. }

注:跳转的页面链接要同时加到白名单中,否则会形成死循环。文章源自飞鸟学习网-https://www.pk88.net/2021-0322-3.html

文章源自飞鸟学习网-https://www.pk88.net/2021-0322-3.html 文章源自飞鸟学习网-https://www.pk88.net/2021-0322-3.html

全站资源源于网络整合,仅供学习研究,不可商用,不提供技术指导,如有侵权请告知删除,可以投稿,广告合作联系V: pk88net

继续阅读
weinxin
我的微信
我的微信
微信扫一扫
 
  • 本文由 飞鸟 发表于 22 3 月, 2021 14:22:52
  • 转载请务必保留本文链接:https://www.pk88.net/2021-0322-3.html
    免责声明
    非常感谢您的访问。在您使用本网站之前,请您仔细阅读本声明的所有条款。
    1、本网站属于个人网站,本分开放互享的原则,本网站的内容均为站长提供、网友推荐、互联网整理而来,仅用于广大网友学习研究使用,如有侵犯您的版权,请及时联系我们,本站将及时纠正。
    2、本站内容不保证其完整性、正确性,但是我们会尽最大努力去确保提供信息的完整性及正确性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
    3、对由于使用本站所产生的任何直接、间接或偶然性的损失或破坏,无论该损失或破坏是否源于疏忽、违约、诽谤、侵权甚至电脑病毒等原因造成的,本网站概不负责,亦不负任何法律责任。
    4、本网站所有内容(网络,素材、图片),其版权均归原作者所有,在转载有关文章时务必尊重该文章的著作权,保留其来源,并自负版权等法律责任。
    5、本声明未涉及的问题参见国家有关法律法规,当本声明与国家法律法规冲突时,以国家法律法规为准。
    6、本站文章内容,如果来源于互联网,我们会标明其来源,如果属于本站原创整理互联网资料,请您转载或者使用该文章时尊重本站及其互联网作者的著作权,注明其来源。
    7、互联网的本质是自由与分享,我们真诚的希望,本站的每一份正能量能带给正在访问本网站的您提供有效的帮助,并且能在互联网自由传播。希望大家多多支持本站。
  • wordpress技巧
广告也精彩
匿名

发表评论

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