WordPress限制用户/设备访问指定分类的文章 访问后显示404或者指定页面

wordpress功能还是很强大的,比如最近看到的一个代码,功能就是可以在某些情况下限制用户或者设备(手机电脑)访问某些特定分类的文章,访问的话是显示404或者是指定跳转某个页面。

WordPress限制用户/设备访问指定分类的文章 访问后显示404或者指定页面

比如我们不想让未登录的用户访问文章页:

/**
 * 用户没有登录+访问的是内容页面情况下,会跳转到登录页
 */
add_action('template_redirect', function () {
	if (!is_user_logged_in() && is_page('content')) {
		auth_redirect(); //跳转到登录页面
		exit();
	}
});

将代码放置在主题function.php文件中即可,记得是在?>之前。

比如限制电脑访问文章,我们只让手机访问:

add_action("wp_head", function () {
	$category = get_the_category();
	echo '
	<script>
		(()=>{
			const is_home=' . (int)is_home() . ';
			const ua = navigator.userAgent.toLowerCase();
			//不是首页 && 不是手机设备 
			if(!is_home && !ua.match(/android|iphone|ipad/g)){
				window.location.href="/404.html";//跳转地址
			}
		})();
	</script>
	';
});

当然这个时候如果跳转到一个中间页,写上请使用移动设备进行访问会更好一点。

这里我只是抛砖引玉,提供一个思路,其实这些代码还可以增添一些条件,比如特定分类等等。

游乐星球 点此下载

相关推荐

WordPress去掉网址后缀index.php

最近网站降权的厉害,可以说一撸到底,不过也让我发现了个问题,那就是明明设置了伪静态,竟然还是收录了带index.php的页面,真的有点奇怪啊。 不过我们可以通过一些设置来避免这个。 Apache(一般配置文件是.htacce ...