WordPress如何只允许游客浏览指定分类的文章

更新于 2025年4月18日 wordpress教程

WordPress如何只允许游客浏览指定分类的文章

有童鞋问,如何实现未登录用户只能浏览指定的分类文章,这里提供一下方法。

WordPress只允许游客浏览指定分类的文章只允许游客浏览指定分类的文章

网上可以找到类似的代码:

add_action('template_redirect', 'show_only_login', 0);
function show_only_login(){
    // 判断登录,about页面就允许访问
    if (!is_page('about') && !is_user_logged_in()) {
        auth_redirect(); //跳转到登录页面
        exit();
    }
}

原代码只允许未登录者访问指定的页面或者直接跳转到登录。

简单改一下,加个判断in_category,只允许访问指定分类的归档页面和文章。

// 首页和指定分类文章可以访问
add_action('template_redirect', 'show_only_login', 0);
function show_only_login() {
    // 判断登录,只允许访问ID为3和2的分类文章
    if (!in_category(array(3, 2)) && !is_home() && !is_user_logged_in()) {
        auth_redirect(); // 跳转到登录页面
        exit();
    }
}

默认未登录者只允许访问网站首页和分类id为3和2的分类归档页面和文章,否则跳转到登录页面。

把 !in_category 前面的感叹号去掉改成 in_category,则正好相反,访问分类ID为3和2的分类文章跳转到登录,其它文章可以正常访问。

代码添加到主题函数模板functions.php中。

你可能还喜欢下面这些文章

怎样修改WordPress默认登录页面地址怎样修改WordPress默认登录页面地址

本文针对WordPress网站默认登录地址易受攻击的问题,提供了一套简单高效的解决方案。通过安装WPS Hide Login插件(仅需30秒),用户可自定义专属登录路径(如),有效阻挡99%的自动化扫描攻击。文章详解了从插件安装、路径设置到故

怎样为WordPress网站添加自定义登录背景怎样为WordPress网站添加自定义登录背景

本文介绍了两种为WordPress网站自定义登录背景的方法,帮助用户打造独特的品牌形象。第一种是通过LoginPress插件实现可视化操作,无需代码即可上传背景图并调整显示效果;第二种是手动添加CSS代码到主题文件,适合追求轻量化的用户。文章

如何为WordPress添加自定义登录页面样式如何为WordPress添加自定义登录页面样式

为WordPress网站打造个性化登录页面能显著提升品牌形象与用户体验。本文详细介绍三种实现方法:使用LoginPress等插件可直观调整背景、LOGO、按钮等元素,适合新手;部分高级主题内置定制功能,免插件更轻量;通过编辑functions

WordPress小说主题wpnovo,支持多语言、付费阅读、VIP会员功能的精美小说模板WordPress小说主题wpnovo,支持多语言、付费阅读、VIP会员功能的精美小说模板

//demo.imwpweb.com/wpnovo/多设备支持主题支持PC和移动端界面,独立设置,互不干扰。移动端首页(右)图:小说页面PC端和移动端的展示付费订阅主题支持付费订阅功能,支持付费单章订阅、整本小说订阅模式。

怎样在WordPress中隐藏特定分类的文章怎样在WordPress中隐藏特定分类的文章

在WordPress中隐藏特定分类文章是管理内容可见性的实用技巧。本文详细介绍了三种实现方法:1)通过编辑functions.php文件添加代码排除分类(适合技术用户);2)使用Ultimate Category Exclude插件可视化操作

WordPress前台如何显示登录用户的最后登录时间WordPress前台如何显示登录用户的最后登录时间

s'));}add_action('wp_login','user_last_login');//。get_last_login($userdata->ID);。

如何限制 WordPress 部分用户角色进入后台如何限制 WordPress 部分用户角色进入后台

只允许管理员、编辑和作者角色访问后台将下面代码添加到当前主题函数模板functions.php中:判断是否登录及用户角色,禁止访问后台的用户角色直接跳转到网站首页。current_user_can('publish_posts')禁止默认注册

Wordpress - 如何检测当前页面是否为登录页面Wordpress - 如何检测当前页面是否为登录页面

有没有比使用全局变量来检测当前页面(如果它是登录页面更好的方法,比如函数。它说它通常被使用,但我认为这不是将非动态页面与文件名而不是功能(如管理页面)进行比较的好方法.解决方案虽然我倾向于同意其他人需要函数。你可以使用这样的东西:如果有人使用