【问题标题】:remove_submenu_page('woocommerce', 'wc-admin'); function not removing dashboardremove_submenu_page('woocommerce', 'wc-admin');功能不删除仪表板
【发布时间】:2020-03-12 14:58:38
【问题描述】:

我在 WordPress 中为 WooCommerce 创建了一个新角色。我需要这个角色看到的唯一内容是:

  • WooCommerce --> 仅限订单
  • 用户 - 所有子菜单
  • WP All Import - 除设置外的所有子菜单
  • WP All Export - 除设置外的所有子菜单

我成功缩减到列表,但在隔离 WooCommerce 仪表板子菜单时遇到问题。

我使用此代码获取完整列表:

    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 '</pre>'; // TOP LEVEL MENUS
            echo '<pre>'; print_r( $submenu ); echo '</pre>'; // SUBMENUS
        }
    }
}
add_action( 'admin_notices', 'debug_admin_menus' );
endif;

我发现该组件是:我添加的 wc-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');
  }
}

我所查找的所有地方都有 ('woocommerce', 'wc-admin') 作为仪表板。不确定我是否无法删除它,将其重定向到订单页面,也许仅适用于该角色。我知道最近有一个 WooCommerce 更新,所以不确定这是否与它有关。

谢谢!

【问题讨论】:

  • 检查$remove_submenu 的值,remove_submenu_page 上的文档说这是错误的,如果未找到子菜单并因此未删除
  • 谢谢亚历克斯,我实际上是通过上面的代码做到了这一点,我在其中一个建议中尝试了替代方法,但它只是在错误日志文件中引入了空白条目。我通过仪表板显示它的第一种方式
  • [woocommerce] =&gt; Array ( [0] =&gt; Array ( [0] =&gt; Dashboard [1] =&gt; view_woocommerce_reports [2] =&gt; wc-admin [3] =&gt; Dashboard
  • 也试过了:admin.php?page=wc-admin
  • 你能解决这个问题吗?我也有同样的情况。

标签: php wordpress woocommerce


【解决方案1】:

我知道已经很久没有在这里说话了。我有同样的问题。我已经想通了,它可能会帮助人们在未来快速解决问题。这是解决方案。

function remove_menus_custom(){
global $current_user;
if(is_admin(){
remove_submenu_page('woocommerce','wc-admin'); 
}
}
add_action( 'admin_menu', 'remove_menus_custom', 999 );

【讨论】:

    猜你喜欢
    • 2021-03-09
    • 2020-03-27
    • 2013-03-09
    • 1970-01-01
    • 2014-06-01
    • 1970-01-01
    • 2020-12-26
    • 2017-11-21
    • 1970-01-01
    相关资源
    最近更新 更多