WordPress 如何设置登录后才能查看网站内容-豆豆资源网

WordPress 如何设置登录后才能查看网站内容

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

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

 

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

  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跳转到自定义的页面

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

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

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!2106752484@qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有积分奖励和额外收入!
豆豆资源网 » WordPress 如何设置登录后才能查看网站内容

发表评论