How to Manage Permissions for WooCommerce Orders

WooCommerce orders can contain a lot of sensitive information, so only users who have the “Administrator” or “Shop Manager” roles can access the WooCommerce admin and therefore the “Orders” screen. 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 PublishPress Capabilities plugin.


Accessing WooCommerce Orders #

Once you have the PublishPress Capabilities plugin installed on your site, go to “Capabilities”.

In the left sidebar, choose the role you want to give “Orders” access. In this example, I'm choosing the “Editor” role:

In this role, make two changes, “edit order” and “read order”.

  • Check the “edit_order”.
  • Check the “read_orders” as well
  • Click “Save Changes”.
  • When your “Editor” user logs into WordPress, they can now see an “Orders” menu link.
Add permissions to WooCommerce orders

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 themselves).

If you want to allow Editors to update orders, go back to “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 “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.

Choosing a role to add permissions to WooCommerce orders

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 “Unique Capabilities for Post Types” box in the right sidebar.
  • Check the “Orders” box
  • Check the “Use create_posts capability” box.
  • Click “Update”.