在 Wordpress 中隐藏管理菜单项

Sha*_*lor 5 php wordpress function

我试图对除一个(我自己)以外的所有用户隐藏 Wordpress 中的某些管理菜单项。

我可以找到各种教程,但它们大多隐藏在用户角色而不是用户上。

我从 Wordpress 法典中找到了这个:

<?php 
function custom_menu_page_removing() {
    remove_menu_page( $menu_slug );
}
add_action( 'admin_menu', 'custom_menu_page_removing' );
?>
Run Code Online (Sandbox Code Playgroud)

但我并不完全理解它,而且我认为我需要向它添加更多的 PHP 来基本上使代码说:

如果用户不是 shaun@seedcreativity.co.uk(我!)

然后删除这些菜单项:

商品 ID 1、商品 ID 2、商品 ID 3 等...

任何人都可以帮忙吗?

Afi*_*eri 10

您可以检查用户 ID:

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


  global $user_ID;

  if ( $user_ID != 1 ) { //your user id

   remove_menu_page('edit.php'); // Posts
   remove_menu_page('upload.php'); // Media
   remove_menu_page('link-manager.php'); // Links
   remove_menu_page('edit-comments.php'); // Comments
   remove_menu_page('edit.php?post_type=page'); // Pages
   remove_menu_page('plugins.php'); // Plugins
   remove_menu_page('themes.php'); // Appearance
   remove_menu_page('users.php'); // Users
   remove_menu_page('tools.php'); // Tools
   remove_menu_page('options-general.php'); // Settings
   remove_menu_page('edit.php'); // Posts
   remove_menu_page('upload.php'); // Media
  }
}
Run Code Online (Sandbox Code Playgroud)


小智 10

您可以使用以下命令删除给定电子邮件的“帖子”菜单:

function custom_menu_page_removing() {
    if ( get_currentuserinfo()->user_email != 'shaun@seedcreativity.co.uk' )
        remove_menu_page( 'edit.php' );
}
add_action( 'admin_menu', 'custom_menu_page_removing' );
Run Code Online (Sandbox Code Playgroud)

如果用户可以猜出正确的 URL,例如 /wp-admin/edit.php,它不会阻止用户使用已删除的页面


Nav*_*iri 5

你可以试试这个代码。

function remove_menus(){
     $current_user = wp_get_current_user();
    if( 'shaun@seedcreativity.co.uk' !==  $current_user->user_email){
        remove_menu_page( 'item1' ); 
        remove_menu_page( 'item2' ); 
    }

}
add_action( 'admin_menu', 'remove_menus' );
Run Code Online (Sandbox Code Playgroud)

item1, item2 将您的页面名称,例如 http://test.com/wp-admin/admin.php?page=item1 http://test.com/wp-admin/admin.php?page=item2