Я пытаюсь удалить пункты меню администратора для всех пользователей, кроме двух. Я могу сделать это для одного пользователя, но проблема возникает, когда я пытаюсь добавить второго пользователя в массив, код выглядит следующим образом:

// HIDE ADMIN MENU ITEMS FOR ALL EXCEPT MAIN USER

function remove_menus(){
     $current_user = wp_get_current_user();
     if( in_array( $current_user->user_email, array('shaun@seedcreativity.co.uk','test@seedcreativity.co.uk',)) ){
       remove_menu_page('link-manager.php'); // Links
       remove_menu_page('edit-comments.php'); // Comments
       remove_menu_page('plugins.php'); // Plugins
       remove_menu_page('tools.php'); // Tools
       remove_menu_page('options-general.php'); // Settings
       remove_menu_page('edit.php?post_type=acf-field-group'); // Custom Fields
       remove_menu_page('cptui_manage_post_types'); // Custom Post Types
       remove_menu_page('cnss_social_icon_page'); // Easy Social Icons
       remove_menu_page('recent-tweets'); // Recent Tweets
       remove_menu_page('responsive-menu'); // Responsive Menu
       remove_menu_page('google-fonts'); // Google Fonts
       remove_menu_page('vc-general'); // Visual Composer
    }

}
add_action( 'admin_menu', 'remove_menus' );

Я попытался окружить элементы массива знаком "" и удалить последний, но, похоже, это не сработало ... Любая помощь была бы потрясающей!

Благодарность,

1
Shaun Taylor 15 Июн 2017 в 13:25
Не могли бы вы указать роли обоих пользователей? Также в соответствии с указанным выше утверждением условие должно быть if (not in array (....)) {}
 – 
Esar-ul-haq Qasmi
15 Июн 2017 в 13:41

2 ответа

Вот ваш обновленный код (условие было обновлено, потому что вы хотите удалить все, кроме этих двух):

function remove_menus(){
     $current_user = wp_get_current_user();
     if( ! in_array( $current_user->user_email, array('shaun@seedcreativity.co.uk','test@seedcreativity.co.uk')) ){
       remove_menu_page('link-manager.php'); // Links
       remove_menu_page('edit-comments.php'); // Comments
       remove_menu_page('plugins.php'); // Plugins
       remove_menu_page('tools.php'); // Tools
       remove_menu_page('options-general.php'); // Settings
       remove_menu_page('edit.php?post_type=acf-field-group'); // Custom Fields
       remove_menu_page('cptui_manage_post_types'); // Custom Post Types
       remove_menu_page('cnss_social_icon_page'); // Easy Social Icons
       remove_menu_page('recent-tweets'); // Recent Tweets
       remove_menu_page('responsive-menu'); // Responsive Menu
       remove_menu_page('google-fonts'); // Google Fonts
       remove_menu_page('vc-general'); // Visual Composer
    }

}
add_action( 'admin_menu', 'remove_menus' );
1
Nerijus Masikonis 15 Июн 2017 в 13:33

Если вы хотите, чтобы два пользователя могли получить доступ к страницам администратора, попробуйте следующий код:

.....

 if(! in_array( $current_user->user_email, array('shaun@seedcreativity.co.uk','test@seedcreativity.co.uk')) ){
       remove_menu_page('link-manager.php'); // Links
       remove_menu_page('edit-comments.php'); // Comments
       remove_menu_page('plugins.php'); // Plugins

......

0
Pratik 15 Июн 2017 в 13:36