【发布时间】:2021-02-04 11:37:37
【问题描述】:
我的 WooCommerce 版本是 4.5.2。
我想删除自定义用户的“添加订单”,使其无法访问wp-admin/post-new.php?post_type=shop_order。
我使用用户角色编辑器创建了一个自定义用户,具有以下权限:
这样,用户只能查看现有订单,点击订单预览更新为“已完成”。
我试过用这个:
remove_submenu_page( 'edit.php?post_type=shop_order', 'post-new.php?post_type=shop_order');
...但是订单主菜单变得无法访问。
我看到了这个帖子 Remove or hide "add new" button on woocommerce on bulk order panel,它使用 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;
}
现在看起来像这样:
【问题讨论】:
-
我已经回答了你的问题,因为我没有相同的选项(也许这是由插件添加的?)。我想收到您的反馈,然后我可以相应地调整我的答案。真诚的
-
谢谢@7uc1f3r,这是一个了不起的解决方案!我使用“用户角色编辑器”插件创建了一个自定义 WooCommerce 角色,如上面的屏幕所示,我也应用了一些钩子。
标签: php wordpress woocommerce backend dashboard