[英]Show different home page based on user role
我正在嘗試根據用戶角色顯示不同的主頁。 我有4個不同的頁面:
主頁 - 默認一個主頁1 - 用戶角色1主頁2 - 用戶角色2主頁3 - 用戶角色3
我現在遇到的問題是顯示用戶角色的頁面。
這是我用來檢查用戶角色的功能。
function get_user_role(){
if (is_user_logged_in()) {
global $current_user;
$user_roles = $current_user->roles;
$user_role = array_shift($user_roles);
return $user_role;
}else{
return "subscriber";
}
}
此外,我在page.php中顯示主頁上顯示的名為“Home”的頁面
is_front_page()
但是..我怎么能顯示其他頁面而不是默認的首頁?
提前致謝
您可以使用get_template_part()
函數:
get_template_part('home', get_user_role());
使用WordPress的模板層次結構,如果當前用戶的角色是Administrator,那么模板將首先查找home-administrator.php ,如果找不到,那么它將回退到home.php 。
首先將(靜態)首頁設置為默認設置,然后使用選項過濾器根據用戶覆蓋設置。
add_filter('option_page_on_front', 'your_override_function');
function your_override_function($page_id) {
if (get_user_role == 'some_value') {
return some_page_id;
}
return $page_id;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.