创建用户角色以在WooCommerce上验证订单状态

时间:2019-03-21 01:43:21

标签: php plugins woocommerce hook-woocommerce

我需要一个角色,该角色具有与客户相同的特权,但是除了能够将订单状态从“等待付款”更改为“已付款”(或其他任何状态名称)之外。此外,还可以删除状态为“等待付款”的订单。

该角色无权将订单状态从“已付款”更改回“等待付款”或删除具有“已付款”状态的订单或任何其他特权。

我尝试了一些插件作为“用户角色编辑器”,但是没有授予对“订单状态管理器”的访问权限。有谁知道如何使用插件或PHP做到这一点?

1 个答案:

答案 0 :(得分:0)

我设法通过几种解决方案的组合来实现这一目标:

  1. 使用Advanced Access Manager插件,我创建了一个具有以下功能的用户:阅读,编辑帖子,管理woocommerce和编辑车间订单。由于此功能启用了许多我不希望具有此角色的管理菜单选项,因此我限制了对所有后端菜单的访问,除了woocommerce菜单中的“订单”。

  2. 但是,管理菜单中的某些选项不受插件的限制,因此我在以下建议中使用了

  

https://wordpress.stackexchange.com/questions/136058/how-to-remove-admin-menu-pages-inserted-by-plugins

  

https://wordpress.stackexchange.com/questions/142517/remove-ability-to-access-certain-admin-menus

将下一个代码添加到functions.php:

add_action( 'admin_menu', 'my_remove_menu_pages' );
function my_remove_menu_pages() {
  if(isset(wp_get_current_user()->roles[0]) && wp_get_current_user()->roles[0] == 'financieros'){ 
      remove_menu_page('edit.php?post_type=uncodeblock'); 
      remove_menu_page('wpcf7');  
      remove_menu_page('heypublisher-submission-manager'); } }