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主机内存的方法有很多,以下是一些建议: 1、选择合适的主机方案 如何优化wordpress主机内存? (wordpress主机内存) 选择适合您网站需求的主机…

    2024 年 4 月 16 日
    7.5K
  • WordPress网站如何防止内容被被采集?

    你可以采取一些措施来减少内容被非法采集的可能性: 使用Robots.txt文件:通过在站点根目录下创建一个robots.txt文件,你可以告诉搜索引擎和爬虫哪些页面可以爬取,哪些不…

    WordPress 2024 年 4 月 22 日
    1.2K
  • WordPress如何让文章只显示摘要

    找到模板目录下的functions.php文件 添加: function excerpt($num) { global $post; $content = apply_filter…

    WordPress 2024 年 4 月 28 日
    1.2K
  • WordPress限制标题长度的方法

    在WordPress中,你可以使用多种方法来限制文章标题的长度。这些方法包括使用代码片段或插件: 使用函数限制标题长度:你可以在主题的functions.php文件中添加以下代码来…

    WordPress 2024 年 4 月 22 日
    1.2K
  • WordPress调用栏目列表的函数

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

    WordPress 2024 年 4 月 28 日
    1.3K
  • WordPress网站维护时,怎样临时关闭?

    1、备份网站数据: 使用WordPress的导出功能创建一个完整的备份,您可以在“工具”菜单下的“导出”选项中找到此功能。 确保将备份文件保存到安全的位置,以便在需要时可以轻松恢复…

    WordPress 2024 年 4 月 28 日
    1.2K
  • WordPress用了哪些开发语言?

    WordPress是一个使用PHP语言编写的开源内容管理系统(CMS),以下是关于WordPress使用的详细信息: 1、前端: HTML:WordPress使用HTML标记语言来…

    WordPress 2024 年 4 月 28 日
    1.2K
  • wordpress怎么做多级分类

    wordpress怎么做多级分类 1、登录到WordPress后台: 打开您的浏览器,输入您的网站URL,然后添加/wpadmin/到末尾,以访问WordPress后台。 输入您的…

    WordPress 2024 年 4 月 23 日
    1.3K
  • WordPress怎么增加文章排序方式?

    方法一:使用内置的“排序”功能 WordPress自带一个基础的文章排序功能,通常按照日期进行排序,要使用它,请按照以下步骤操作: 1、登录到你的WordPress后台。 2、转到…

    WordPress 2024 年 4 月 19 日
    3.9K
  • WordPress屏蔽右键复制功能插件

    WordPress屏蔽右键复制功能 1. 为什么要屏蔽右键复制功能? 在某些情况下,您可能希望防止用户直接从您的WordPress网站上复制文本,这可能是因为您的内容是受版权保护的…

    2024 年 4 月 16 日
    4.5K