wordpress限制非登录用户浏览分类文章

wordpress网站创建了多个分类目录,默认情况下所有分类目录的文章允许所有访客访问浏览,那么如果想让未登录的访客只能访问指定的分类文章要怎么实现?wordpress默认后台当然没有提供这个功能,还是需要通过代码或者插件实现。下面分享的代码实现wordpress限制游客访问指定分类文章。

实现代码:

在当前主题的functions.php文件添加代码

1
2
3
4
5
6
7
function limited access(){
	if(!is_user_logged_in() && !is_home() && in_category(array(3,2)){
		wp_die('没有访问权限');
		exit();
	}
}
add_action( 'template_redirect', 'limited access', 0 );
代码说明:

1、当访客浏览首页以外的页面时,如果访问的文章所属分类目录的分类ID为3或2,就会出现“没有访问权限”,如果不想弹出提示,可以使用wp_redirect()函数进行跳转;

2、代码in_category(array(3,2))中的3,2是分类目录ID

发表留言