如何隐藏WooCommerce中店铺管理员的后台子菜单「Home」?
隐藏WooCommerce后台店铺管理员的「Home」子菜单且保留Analytics权限
你想隐藏WooCommerce后台中店铺管理员可见的「Home」子菜单,目前使用的代码虽然能移除wc-admin子菜单,但会同时禁止店铺管理员访问WooCommerce Analytics板块:
function AtoJ_remove_menus() { if (current_user_can( 'shop_manager' )) { // WooCommerce remove_submenu_page( 'woocommerce', 'wc-admin' ); } } add_action( 'admin_menu', 'AtoJ_remove_menus', 999 );
问题出在wc-admin不仅对应「Home」子菜单,WooCommerce Analytics也是基于这个页面路径扩展的,直接移除会连带禁用Analytics权限。
解决方案:精准移除「Home」子菜单
使用以下代码,通过遍历WooCommerce子菜单,精准定位并移除标题为「Home」的项,不会影响Analytics的访问:
function AtoJ_remove_woocommerce_home_submenu() { if (current_user_can('shop_manager')) { global $submenu; // 确认WooCommerce子菜单存在 if (isset($submenu['woocommerce'])) { // 遍历找到「Home」子菜单并移除 foreach ($submenu['woocommerce'] as $key => $menu_item) { if ($menu_item[0] === 'Home') { unset($submenu['woocommerce'][$key]); break; } } } } } add_action('admin_menu', 'AtoJ_remove_woocommerce_home_submenu', 999);

内容的提问来源于stack exchange,提问作者Kentaro Tanaka
相关产品推荐
相关产品推荐

