remove_submenu_page ('woocommerce', 'w c -admin'); функция не удаляет приборную панель - PullRequest
1 голос
/ 12 марта 2020

Я создал новую роль в WordPress для WooCommerce. Единственное, что мне нужно, чтобы увидеть эту роль:

  • WooCommerce -> Только заказы
  • Пользователи - Все подменю
  • WP Весь импорт - Все подменю, кроме Настройки
  • WP All Export - все подменю, кроме настроек

Я успешно свернул к списку, но у меня возникли проблемы с выделением подменю WooCommerce Dashboard.

Я использовал этот код, чтобы получить полный список:

<code>    if (!function_exists('debug_admin_menus')):
function debug_admin_menus() {
if ( !is_admin())
        return;
    global $submenu, $menu, $pagenow;
    if ( current_user_can('manage_options') ) { // ONLY DO THIS FOR ADMIN
        if( $pagenow == 'index.php' ) {  // PRINTS ON DASHBOARD
            echo '<pre>'; print_r( $menu ); echo '
'; // Меню верхнего уровня echo '
'; print_r( $submenu ); echo '
'; // SUBMENUS}}} add_action ('admin_notices', 'debug_admin_menus'); ENDIF;

Я обнаружил, что компонент: w c -admin, где я добавил:

remove_submenu_page('woocommerce', 'wc-admin');

НО он не удаляется. Кто-нибудь знает почему? Я также пробовал:

add_action( 'admin_menu', 'remove_menu_pages', 999);
function remove_menu_pages() {
  global $current_user;

  $user_roles = $current_user->roles;
  $user_role = array_shift($user_roles);
  if($user_role == "custom_shop_admin") {
    $remove_submenu = remove_submenu_page('woocommerce', 'wc-admin');
  }
}

Везде, где я смотрел, (dashcommerce, w c -admin) приборной панелью. Не уверен, что если я не смогу удалить его, перенаправить его на страницу заказов, возможно, только для этой роли. Я знаю, что недавно было обновление WooCommerce, поэтому не уверен, что это как-то связано с этим.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...