首页 > 解决方案 > 关闭电子邮件地址的多个 WordPress 菜单项

问题描述

我有以下功能,但不知道如何将多个电子邮件地址添加到列表中。

// Remove Different Admin Menu Links For A Specific User Profile
add_action('admin_menu', 'remove_admin_menu_links');
function remove_admin_menu_links(){
     $user = wp_get_current_user();
     if( $user && isset($user->user_email) && 'user@email.com' == $user->user_email ) {
         remove_menu_page( 'tools.php' );
         remove_menu_page( 'themes.php' );
         remove_menu_page( 'options-general.php' );
         remove_menu_page( 'plugins.php' );
         remove_menu_page( 'users.php' );
         remove_menu_page( 'edit-comments.php' );
         remove_menu_page( 'page.php' );
         remove_menu_page( 'upload.php' );
         remove_menu_page( 'edit.php?post_type=page' );
         remove_menu_page( 'edit.php?post_type=videos' );
         remove_menu_page( 'edit.php' );
     }
 }
 remove_theme_support( 'genesis-admin-menu' );

标签: phpwordpress

解决方案


创建一个电子邮件地址数组并检查它们是否存在:

add_action('admin_menu', 'remove_admin_menu_links');
function remove_admin_menu_links(){

     $restrictedUsers = [
          "someone@somewhere.com",
          "user@email.com"
     ];

     $user = wp_get_current_user();
     if( $user && isset($user->user_email) && in_array($user->user_email, $restrictedUsers )) {
         remove_menu_page( 'tools.php' );
         remove_menu_page( 'themes.php' );
         remove_menu_page( 'options-general.php' );
         remove_menu_page( 'plugins.php' );
         remove_menu_page( 'users.php' );
         remove_menu_page( 'edit-comments.php' );
         remove_menu_page( 'page.php' );
         remove_menu_page( 'upload.php' );
         remove_menu_page( 'edit.php?post_type=page' );
         remove_menu_page( 'edit.php?post_type=videos' );
         remove_menu_page( 'edit.php' );
     }
 }
 remove_theme_support( 'genesis-admin-menu' );

推荐阅读