我正在尝试根据用户角色显示不同的主页。我有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";
}
}
此外,我正在显示名为“主页”的页面,以便在主页上显示使用页面.php
is_front_page()
但是......我怎么能显示其他页面而不是默认的首页呢?
提前致谢
答案 0 :(得分:2)
您可以使用get_template_part()
功能:
get_template_part('home', get_user_role());
使用WordPress的模板层次结构,如果当前用户的角色是管理员,那么模板将首先查找 home-administrator.php ,如果找不到,那么它将回退到 home.php 强>
答案 1 :(得分:0)
首先将(静态)首页设置为默认设置,然后根据用户使用option filter覆盖设置。
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;
}