不同角色登录php,不同用户角色的不同菜单

我试图根据用户角色显示两个不同的菜单。

我使用以下代码(在functions.php中)设置了一个名为”客户端”的新角色:

add_role( 'client', 'Client', array(

'read' => true, )

);

使用此代码, 我有两个不同的菜单(在functions.php中):

function register_my_menus() {

register_nav_menus(

array(

'client-navigation' => __( 'Client Navigation' ), 'staff-navigation' => __( 'Staff Navigation' ), )

);

}

add_action( 'init', 'register_my_menus' );

这是我试图用来调用”客户端导航”或”人员导航”的代码(在header.php中):

if (current_user_can('client')){

//menu for client role

wp_nav_menu( array('theme-location' => 'client-navigation' ));

}else{

//default menu

wp_nav_menu( array('theme-location' => 'staff-navigation' ));

}

?>

我还尝试过在wp_nav_menu之前添加” echo”并将主题位置更改为菜单, 并使用菜单名称, 但它始终显示人员导航菜单。

#1

要使用current_user_can, 你应该添加自己的自定义功能。

无需执行此操作, 而是在寻找角色时, 从此处改编的以下功能可以完成工作:

function check_for_clients() {

global $current_user;

$user_roles = $current_user->roles;

$user_role = array_shift($user_roles);

return ($user_role == 'client');

}

然后在你的header.php文件中(请注意, 你在theme_location中有一个错字):

if ( check_for_clients() ){

wp_nav_menu( array('theme_location' => 'client-navigation' ));

} else {

wp_nav_menu( array('theme_location' => 'staff-navigation' ));

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值