Php 删除'的子菜单;添加订单';WoodPress管理仪表板上的WooCommerce
我的WooCommerce版本是4.5.2 我想删除自定义用户的“添加订单”,使其无法访问Php 删除'的子菜单;添加订单';WoodPress管理仪表板上的WooCommerce,php,wordpress,woocommerce,backend,dashboard,Php,Wordpress,Woocommerce,Backend,Dashboard,我的WooCommerce版本是4.5.2 我想删除自定义用户的“添加订单”,使其无法访问wp admin/post new.php?post\u type=shop\u order 我已使用具有以下权限的用户角色编辑器创建了自定义用户: 这样,用户只能查看现有订单,并单击订单预览更新为“已完成” 我试着用这个: remove_子菜单_页面('edit.php?post_type=shop_order','post new.php?post_type=shop_order'); …但无法访问订
wp admin/post new.php?post\u type=shop\u order
我已使用具有以下权限的用户角色编辑器创建了自定义用户:
这样,用户只能查看现有订单,并单击订单预览更新为“已完成”
我试着用这个:
remove_子菜单_页面('edit.php?post_type=shop_order','post new.php?post_type=shop_order');
…但无法访问订单主菜单
我看到了这篇文章,它使用CSS在页面中隐藏了“添加顺序”
我希望有人能为我指明一个方向,告诉我如何实现我所追求的目标
更新: 根据7uc1f3r的回答,这是我的输出
[edit.php?post_type=shop_order] => Array
(
[5] => Array
(
[0] => Orders
[1] => edit_shop_orders
[2] => edit.php?post_type=shop_order
)
[10] => Array
(
[0] => Add order
[1] => edit_shop_orders
[2] => post-new.php?post_type=shop_order
)
)
使用提供的解决方案,我使用它,以便自定义用户无法添加订单并访问wp admin/post new.php?post_type=shop_order:
unset( $submenu['edit.php?post_type=shop_order'][10][0] );
unset( $submenu['edit.php?post_type=shop_order'][10][1] );
unset( $submenu['edit.php?post_type=shop_order'][10][2] );
此外,我应用CSS在管理面板上隐藏“添加顺序”:
ul.wp-submenu.wp-submenu-wrap {
display: none !important;
}
现在看起来是这样的:
我使用的是
WC 4.4.1
&WC 4.6.0
,在这两个版本中都无法从菜单创建新订单
更新:由于您发布的输出,这应该足以删除“订单:添加新的”
功能操作管理菜单(){
全局$菜单,$子菜单;
//取消设置“订单:添加新”
取消设置($edit.php?post_type=shop_order'][10]子菜单);
}
添加操作(“管理菜单”、“操作管理菜单”);
可选:对于“产品:添加新”和调试,您可以使用
//调试:这将在仪表板上显示完整的wordpress管理菜单,仅供管理员使用。(随后移除)
功能调试\管理\菜单(){
全局$菜单,$子菜单,$pagenow;
如果(当前用户可以(“管理选项”)){
如果($pagenow=='index.php'){//在仪表板上打印
回显“”,打印($menu,1),“”;//顶级菜单
回显“”,打印($submenu,1),“”;//子菜单
}
}
}
添加操作(“管理通知”、“调试管理菜单”);
功能操作\管理\菜单(){
全局$菜单,$子菜单;
//取消设置“产品:添加新”
取消设置($edit.php?post_type=product'][10]子菜单);
}
添加操作(“管理菜单”、“操作管理菜单”);
相关的: