Accessing the POS
To control access to the WooCommerce POS functionality, you can utilise WordPress capabilities and user roles. By assigning specific roles to users and configuring their capabilities, you can tailor the access levels for different POS users. The WooCommerce POS plugin integrates with the existing WordPress roles and introduces a specific role for cashiers.
The following table outlines the main user roles in the POS and their respective capabilities:
Role | Created By | Description |
---|---|---|
Administrator | WordPress | The site owner who has all capabilities enabled by default. |
Shop Manager | WooCommerce | This role is designed for users who need access to the POS and the ability to manage POS settings. Shop Managers may not have permission to install plugins or perform other administrative tasks. |
Cashier | WooCommerce POS | This role is added by the WooCommerce POS plugin and is intended for users who will primarily use the POS. Cashiers typically have limited capabilities and may not have access to WP Admin to modify POS settings, install plugins, or create blog posts. In some cases, you may even want to restrict a cashier from adding or editing customers in the POS. |
To assign and manage user roles and capabilities, you can navigate to WP Admin > POS > Access
.
The following table provides an overview of the WordPress capabilities associated with the WooCommerce POS plugin:
Capability | Description | Example Usage |
---|---|---|
access_woocommerce_pos | Allows access to the WooCommerce POS interface. | Enabling this option would grant the cashier permission to access and use the POS, allowing them to perform point-of-sale transactions. |
manage_woocommerce_pos | Enables the management of WooCommerce POS settings and configurations. | Enabling this option would give the cashier the ability to modify settings related to the POS, such as payment methods or receipt templates. |
create_users | Allows the cashier to create new WordPress user accounts. | Disabling this option would prevent the cashier from creating new customer accounts in the POS. |
edit_others_shop_orders | Enables editing of shop orders created by other cashiers. | Disabling this option would prevent a cashier from modifying shop orders created by a different cashier in the POS. |
edit_product | Allows the cashier to edit product details. | Disabling this option would prevent the cashier from modifying the details of products available in the POS. |
edit_published_products | Allows the cashier to edit published products. | Disabling this option would prevent the cashier from making changes to products that are already published in the POS. |
edit_shop_orders | Allows the cashier to edit shop orders. | Disabling this option would prevent the cashier from modifying the details of shop orders, such as order status or customer details, in the POS. |
edit_users | Allows the cashier to edit existing user accounts. | Disabling this option would prevent the cashier from modifying the details of customer accounts, such as billing address, in the POS. |
list_users | Allows the cashier to view a list of user accounts. | Disabling this option would prevent the cashier from searching or selecting customers in the POS. |
manage_product_terms | Allows the cashier to manage product categories and tags. | Disabling this option would prevent the cashier from creating, editing, or deleting product categories or tags in the POS. |
publish_shop_orders | Allows the cashier to publish shop orders. | Disabling this option would prevent the cashier from finalizing and processing new shop orders in the POS. |
read_private_products | Allows the cashier to access the details of private products. | Disabling this option would prevent the cashier from viewing the details of private products available in the POS. |
read_private_shop_coupons | Allows the cashier to access the details of private shop coupons. | Disabling this option would prevent the cashier from viewing the details of private shop coupons in the POS. |
read_private_shop_orders | Allows the cashier to access the details of private shop orders. | Disabling this option would prevent the cashier from viewing the details of private shop orders in the POS. |
read | Allows access to the WordPress Admin. | Disbaling this prevents the cashier from access the WordPress Dashboard and user profile page. |
By assigning the appropriate capabilities to each role, you can fine-tune the access and permissions for different users in the POS. This allows you to control who can perform certain actions, view sensitive information, and make changes to your store.
For more detailed information on managing user roles and capabilities in WordPress, you can refer to the WordPress Codex.