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

更新于 2021年10月16日 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的方法:WordPress程序中哪个文件,负责登录和验证账号。这是WordPress登录后台页面的文件换句话说,如果你想登录WordPress的后台,只需在浏览器中访问此文件即可。

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

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

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 – 如何检测当前页面是否为登录页面

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

wordpress怎么获取某个栏目链接地址wordpress怎么获取某个栏目链接地址

php$cat=get_category_by_slug(‘分类名称’);。$cat_links=get_category_link($cat->term_id);。

wordpress filter parse_term_query修改分类的查询参数wordpress filter parse_term_query修改分类的查询参数

摘要:parse_term_query过滤器可修改分类查询参数,适用于所有分类查询,包括WordPress后台。针对后台分类问题,特别是小说主题分类过多的情况,通过增加parse_term_query过滤器,可以调整查询参数,解决分类展示混乱

wordpress如何在一个页面显示所有文章wordpress如何在一个页面显示所有文章

></h3>。<li><a。>”><。></a></li>。get_categories();改为$cats。