我想向商店经理隐藏 WooCommerce 中的子菜单“主页”。
我可以使用以下代码隐藏/禁用
wc-admin
:
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 );
但如果我这样做,它也会禁用商店经理访问 WooCommerce Analytics 管理部分的权限。
请帮我解决这个问题。
已更新
要禁用管理员 WooCommerce“主页”页面(仅),请对用户角色使用以下内容:
add_action( 'admin_menu', 'disable_admin_woocommerce_home_for_user_role', 999 );
function disable_admin_woocommerce_home_for_user_role() {
global $submenu;
$targeted_role = 'shop_manager'; // Here define the user role
if ( current_user_can( $targeted_role ) ) {
unset($submenu['woocommerce'][0][0]);
if ( ! isset($_GET['path']) && isset($_GET['page']) && $_GET['page'] === 'wc-admin') {
wp_redirect( admin_url('edit.php?post_type=shop_order') );
wp_die();
}
}
}
它将允许商店经理访问分析部分。
代码位于子主题的functions.php 文件中(或插件中)。已测试并有效。