显示基于用户角色不同主页(Show different home page based on use

2019-11-02 19:56发布

我试图显示根据用户角色不同的主页。 我有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文件上的主页,以显示

is_front_page()

但是..我怎么能显示其他页面而不是默认的头版?

提前致谢

Answer 1:

您可以使用get_template_part()函数:

get_template_part('home', get_user_role());

使用WordPress的模板层次,如果当前用户的角色为管理员,则模板会首先寻求家庭administrator.php,如果未找到然后它只是回落到home.php。



Answer 2:

首先,(静态)头版设置为默认设置,然后用选择滤波器以覆盖根据用户的设置。

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;
}


文章来源: Show different home page based on user role
标签: php wordpress