我正在进行多站点安装,其中一个特定站点的访问权限仅限于已登录并具有特定用户元集的用户(key=“cr\\u access”,val=“Yes”)。如果用户未登录,或该元密钥未设置为;“是”;,然后,应将它们重定向到指定的url。
重定向工作正常,但似乎正在缓存。如果用户在登录之前尝试访问某个页面,然后登录并重试,则仍会将其重定向到设置的url。如果清除页面和对象缓存,则用户可以访问这些页面。首先,我如何防止它被缓存?
这是我的代码:
function hwnycr_redirect(){
//only redirect for blog id 10, non-admin, and exclude home/login pages
if (!is_front_page() && !current_user_can( \'edit_posts\' ) && get_current_blog_id() == 10 && get_the_ID() <> 13) {
if(!is_user_logged_in()) {
wp_redirect(\'https://example.com\');
exit();
} else {
$current_user = wp_get_current_user();
$cr_access = get_user_meta($current_user->ID, \'cr_access\', true);
if ($cr_access !== "Yes") {
wp_redirect(\'https://example.com\');
exit();
}
}
}
}
add_action( \'template_redirect\', \'hwnycr_redirect\',1);