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

在某些特殊需求下需要实现未登录用户只能浏览指定的分类文章,这里提供一下方法。 网上可以找到类似的代码,如下: //template_redirect动作钩子是一定会执行的,所以用这个钩子对全站有效 add_action( \’template_redirect\’, \’ashuwp_show_only_login\’, 0 ); function ashuwp_show_only_login

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

在某些特殊需求下需要实现未登录用户只能浏览指定的分类文章,这里提供一下方法。

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

//template_redirect动作钩子是一定会执行的,所以用这个钩子对全站有效
add_action( 'template_redirect', 'ashuwp_show_only_login', 0 );
function ashuwp_show_only_login(){
	//判断登录,about页面就允许访问
	if( !is_page('about') && !is_user_logged_in() ){
		auth_redirect(); //跳转到登录页面
		exit();
	}
}

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

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

// 首页和指定分类文章可以访问
add_action( 'template_redirect', 'ashuwp_show_only_login', 0 );
function ashuwp_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中。

原创文章,作者:蓝色创想,如若转载,请注明出处:https://www.davidwu.net/archives/21086

WordPress安全防护插件
服务项目 服务内容 收费标准(元)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

电子邮件地址不会被公开。 必填项已用*标注

51建站客服微信二维码
点击这里购买