其实这方面的需求还是蛮多的,举个例子吧,比如某会员网有个需求就是根据用户的类别/等级来限制是否可以访问该页面下的内容,那么就可以用到接下来本文所用到的代码,当然了代码不唯一,只能能实现需求的都是好办法。
注意:如需要使用以下的代码,是需要放置到你当前网站所使用的主题根目录下的function.php中的?>之前哦。
/**
* 用户没有登录+访问的是内容页面情况下,会跳转到登录页
*/
add_action('template_redirect', function () {
if (!is_user_logged_in() && is_page('content')) {
auth_redirect(); //跳转到登录页面
exit();
}
});
/**
* 限制特定分类类目+特定的设备才能访问,否则跳转到404模板页
*/
add_action('template_redirect', function () {
global $wp_query;
$exclude_category_id=array(1,4);//屏蔽的分类ID
if(!is_home() && !preg_match( '/spider|bot/',strtolower( $_SERVER['HTTP_USER_AGENT'] )) && in_category($exclude_category_id) && !wp_is_mobile()){
$wp_query->set_404();
status_header(404);
nocache_headers();
include( get_query_template( '404' ) );
exit();
}
});