我使用下面的代码段,因为除了管理员之外,WP管理栏还没有在前端显示所有用户角色。但是管理栏现在对所有用户都可见,我只希望它对两个用户角色可见:shop_manager'和'编辑'。那么代码片段应该是什么样的呢?
function admin_bar(){
if(is_user_logged_in()){
add_filter( 'show_admin_bar', '__return_true' , 1000 );
}
}
add_action('init', 'admin_bar' );
答案 0 :(得分:1)
这应该有效:
function admin_bar(){
if(is_user_logged_in()){
$user = wp_get_current_user();
if ( in_array( 'shop_manager', (array) $user->roles ) || in_array( 'editor', (array) $user->roles ) ) {
add_filter( 'show_admin_bar', '__return_true' , 1000 );
}else{
add_filter( 'show_admin_bar', '__return_false' , 1000 );
}
}
}
add_action('init', 'admin_bar' );