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.duanjingdian.com/288.html

上一篇 2024 年 4 月 23 日 上午11:34
下一篇 2024 年 4 月 26 日 上午12:06

相关推荐

  • WordPress调用栏目列表的函数

    默认情况下,WordPress会使用一个简单的列表来显示栏目及其文章,你可以通过自定义栏目列表模板来改变其外观和布局,要自定义栏目列表模板,你需要编辑主题的函数文件,在你的Word…

    WordPress 2024 年 4 月 28 日
    1.2K
  • WordPress常用SEO插件推荐

    几个常用的WordPress SEO插件推荐: 1、Yoast SEO 功能:提供全面的SEO优化功能,包括关键词优化、元标签优化、XML网站地图生成等。 特点:易于使用,界面友好…

    WordPress 2024 年 4 月 27 日
    6.5K
  • 在外部怎样调用WordPress的文章?

    通过调用 wp-load.php 文件获取wordpress主要功能的。wp-load.php加载了Wordpress本身和它所有的程序开发接口(API),装载后就可以在自己的程序…

    WordPress 2024 年 4 月 21 日
    1.2K
  • WordPress自带短代码添加视频

    在WordPress中,你可以使用自带的短代码功能来轻松地添加视频到你的文章中,以下是详细的步骤: 1. 准备视频 你需要有一个可用的视频源,这可以是你自己的本地视频文件,或者是一…

    2024 年 4 月 17 日
    1.1K
  • wordpress自定义导航栏

    1、登录到WordPress后台 打开你的WordPress网站,并登录到后台管理界面。 2、进入外观设置 在左侧导航栏中,点击"外观"选项,然后选择"菜单"。 3、创建主导航菜单…

    WordPress 2024 年 4 月 27 日
    6.0K
  • WordPress获取标签(tag)的一些常用函数

    WordPress 提供了许多用于获取标签(tags)的函数,让开发者可以轻松地在主题中显示相关标签信息。 以下是一些常用的 WordPress 获取标签的函数: 1. `get_…

    WordPress 2024 年 4 月 26 日
    2.4K
  • WordPress后台一键升级需设置ftp的解决方法

    每当我们想在wordpress上升级插件或者是升级wordpress的时候,就会弹出一个ftp登录,怎样解决? 解决方法 编辑配置文件wp-config.php 在最后一行下面添加…

    WordPress 2024 年 4 月 26 日
    1.1K
  • WordPress如何自动为文章添加特色图片?

    在WordPress中自动为文章添加特色图像可以通过多种方式实现,以下是几种常用的方法: 1、使用插件自动设置特色图像 2、代码方法自动设置特色图像 3、利用媒体库的默认图像作为特…

    WordPress 2024 年 4 月 19 日
    2.6K
  • 如何实现WordPress的页面不跳转?

    想要让用户在当前页面上完成某个操作而不需要离开,或者想在不刷新的情况下加载新的内容,以下是一些实现WordPress页面不跳转的方法: 1. 使用 AJAX 技术 AJAX(Asy…

    2024 年 4 月 20 日
    3.0K
  • wordpress函数get_the_category()

    wordpress主题函数 get_the_category() 说明 获取与查询参数相匹配的类别对象 用法 <?php get_the_category( $id ) ?&…

    WordPress 2024 年 4 月 21 日
    1.1K