我有一个只能由某些用户角色访问的自定义页面模板。如果访问者未登录或没有给定角色,则会将其重定向到登录页面。
问题是,如果用户在登录之前尝试访问此页面,他无论如何都会被重定向(登录后) - 问题只有在清除浏览器数据和重新启动后才能解决。如果用户先登录然后尝试访问该页面,则不会发生这种情况。
function ts_restrict_user_access() {
if ( is_page_template( 'templates/ts-sample.php' ) ) {
$redirect = true;
if ( is_user_logged_in() ) {
$user = wp_get_current_user();
if ( in_array( 'worker', (array) $user->roles ) || in_array( 'administrator', (array) $user->roles )) {
$redirect = false;
}
}
if ( $redirect ) {
wp_redirect( esc_url( home_url( '/login' ) ), 301 );
}
}
}
答案 0 :(得分:0)
如果您正在使用任何缓存插件,请将其禁用并再次尝试使用您的代码。
我已经简化了你的代码,请看下面的内容。
retrieveData(buildUrl(urlString));