How to Manage Permissions for WooCommerce Orders
By default, very few users are allowed to access the WooCommerce admin area.
WooCommerce stores can contain a lot of sensitive information, so only users who have the “Administrator” or “Shop Manager” roles can access the WooCommerce admin.
Both “Administrator” or “Shop Manager” users can access the entire WooCommerce admin. There is no middle ground where users can access only some WooCommerce features.
In this guide, I’ll show you how to customize access to the WooCommerce Orders area. This will allow some users to login to the “Orders” area and process orders.
We’re going to use the Capability Manager Enhanced plugin.
Accessing WooCommerce Orders
Once you have the Capability Manager Enhanced plugin installed on your site, go to User > Capabilities.
In the right sidebar, choose the role you want to give “Orders” access. In this example, I’m choosing the “Editor” role:
In the center of the screen, make two changes:
- Check the box in the “Edit” column and the “Orders” row.
- Check the “Orders” box in the “Reading” area.
- Click “Save Changes”.
- When your “Editor” user logs into WordPress, they can now see an “Orders” menu link.
Editing WooCommerce Orders
At this point, the “Editor” user can create new orders for customers. However, they can not edit existing orders (unless they created the order themeselves).
If you want to allow Editors to update orders, go back to Users > Capabilities and give them the “Edit Others” permission:
Deleting WooCommerce Orders
If you want to allow users to delete WooCommerce orders, check these boxes in the Users > Capabilities area:
These settings will allow the user to move orders to the trash. Here’s the “Move to trash” link they will send when editing an order.
Creating WooCommerce Orders
“Create posts” is a WordPress permission that we covered in detail in this blog post.
By default, the “Edit” permission in WordPress covers both editing and creating. As you saw earlier in the tutorial with WooCommerce, the “Edit” permission allowed users to create and edit blog posts.
But what happens if you want some users to edit orders, but not create them?
That’s where this permission is useful.
- Look for the “Type-Specific Capabilities” box in the right sidebar.
- Check the “Orders” box
- Check the “Use create_posts capability” box.
- Click “Update”.
Now in the center of the screen, you can check the “Create” box for orders. In the example shown below, users can create new orders, but not edit any existing orders.