我有一個自定義頁面模板,只有某些用戶角色可以訪問。如果訪問者沒有登錄或者沒有被授予角色,他會被重定向到登錄頁面。WordPress的不識別登錄的用戶
問題是,如果用戶在登錄之前嘗試訪問此頁面,他無論如何都會被重定向(登錄後) - 只有在清除瀏覽器數據和重新記錄後才能解決問題。如果用戶先登錄然後嘗試訪問該頁面,則不會發生這種情況。
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);
}
}
}
您是否使用某種緩存插件來緩存響應?另外我不認爲你需要$ redirect變量和邏輯來處理它。 – Peter
謝謝。除了我正在構建的內容外,我沒有任何活動插件,但是,我使用此片段從插件中進行模板化:http://www.wpexplorer.com/wordpress-page-templates-plugin/ – synergy