从管理员以外的用户删除菜单

时间:2020-06-24 作者:Mehmet Şar

我想从除管理员之外的所有用户中删除一些菜单链接。我该怎么做?

2 个回复
最合适的回答,由SO网友:Mehmet Şar 整理而成

我找到了我要找的代码,谢谢。


add_action( \'admin_init\', \'my_remove_menu_pages\' );
function my_remove_menu_pages() {

global $user_ID;

if ( current_user_can( \'author\' ) ) {
remove_menu_page( \'tools.php\' );
remove_menu_page( \'edit-comments.php\' );
remove_menu_page( \'wpcf7\' );
remove_menu_page( \'upload.php\' );
remove_menu_page( \'index.php\' );
}
}

SO网友:Ivan Shatsky

如果要按标签排除菜单项,请执行以下操作:

function hide_menu_items( $items ) {
    $items_to_exclude = [\'Menu Item 1\', \'Menu Item 2\'];
    if ( !current_user_can( \'manage_options\' ) ) foreach ($items as $key => $item) if ( in_array( $item->title, $items_to_exclude ) ) unset( $items[$key] );
    return $items;
}
add_filter( \'wp_get_nav_menu_items\', \'hide_menu_items\', 20 );