访问 POS
要控制对 WCPOS 功能的访问,可以使用 WordPress 的能力和用户角色。通过为用户分配特定角色并配置其能力,可以为不同的 POS 用户定制访问级别。WCPOS 插件与现有 WordPress 角色集成,并新增了专门的收银员角色。
下表概述了 POS 中的主要用户角色及其相应能力:
| 角色 | 创建者 | 说明 |
|---|---|---|
| 管理员 | WordPress | 默认启用了所有能力的网站所有者。 |
| 店铺经理 | WooCommerce | 此角色面向需要访问 POS 并管理 POS 设置的用户。店铺经理可能没有安装插件或执行其他管理任务的权限。 |
| 收银员 | WCPOS | 此角色由 WCPOS 插件新增,适用于主要使用 POS 的用户。收银员可以操作收银台,并且默认可以创建和编辑产品及客户,但无权访问 WP Admin 来修改 POS 设置、安装插件或创建博客文章。可按能力逐项收紧或放宽这些权限(见下文)。 |
从 v1.10 开始,收银员角色无需额外配置即可获得产品创建和编辑能力,因此员工无需管理员即可修正价格或添加产品。产品删除仍需主动授予,默认不会授予。服务器仍会根据用户实际的 WordPress 能力检查每次产品和优惠券写入操作;如果服务器拒绝写入,设备上的操作将被撤销,并向收银员显示原因。可在“访问权限”页面调整任何这些授权。
要分配和管理用户角色及权限,可前往 WP Admin > POS > Access。权限开关按任务分组(产品、订单、客户等),便于了解每项权限的作用。
管理 POS 设置开关 (manage_woocommerce_pos) 控制 WP Admin > POS 下的设置页面及其背后的设置 API。POS 窗口内的设置页面则不同:其中包含打印机、条码扫描器、主题和显示选项等每台设备的偏好设置,仅存储在该设备上,并且所有能够打开 POS 的用户都可使用。关闭管理 POS 设置不会隐藏该页面,并且收银员在其中进行的任何更改都不会同步到服务器。
POS 客户列表会显示所有 WordPress 用户,包括员工,因为任何账户都可以作为订单中的客户。编辑权限比查看权限更严格:无论管理客户开关如何设置,非管理员的 POS 用户都无法编辑或删除拥有员工权限的账户。员工包括管理员、商店经理、其他收银员,以及在 wp-admin 中拥有作者席位的任何人员,例如编辑、作者和投稿者(权限 manage_options、manage_woocommerce、edit_users 和 edit_posts)。只有管理员可以通过 POS 更改员工账户。
下表概述了与 WCPOS 插件关联的 WordPress 权限:
| 权限 | 说明 | 使用示例 |
|---|---|---|
access_woocommerce_pos | 允许访问 WCPOS 界面。 | 启用此选项后,收银员将获得访问和使用 POS 的权限,从而能够执行销售点交易。 |
manage_woocommerce_pos | 允许管理 WCPOS 设置和配置。 | 启用此选项后,收银员可以修改与 POS 相关的设置,例如支付方式或收据模板。 |
create_users | 允许收银员创建新的 WordPress 用户账户。 | 禁用此选项后,收银员将无法在 POS 中创建新的客户账户。 |
edit_others_shop_orders | 允许编辑其他收银员创建的店铺订单。 | 禁用此选项将阻止收银员在 POS 中修改由其他收银员创建的店铺订单。 |
edit_product | 允许收银员编辑产品详情。 | 禁用此选项将阻止收银员修改 POS 中可用产品的详情。 |
edit_published_products | 允许收银员编辑已发布的产品。 | 禁用此选项将阻止收银员更改 POS 中已发布的产品。 |
edit_shop_orders | 允许收银员编辑店铺订单。 | 禁用此选项将阻止收银员在 POS 中修改店铺订单的详情,例如订单状态或客户详情。 |
edit_users | 允许收银员编辑现有用户账户。 | 禁用此选项将阻止收银员在 POS 中修改客户账户的详情,例如账单地址。 |
list_users | 允许收银员查看用户账户列表。 | 禁用此选项将阻止收银员在 POS 中搜索或选择客户。 |
manage_product_terms | 允许收银员管理产品分类和标签。 | 禁用此选项将阻止收银员在 POS 中创建、编辑或删除产品分类或标签。 |
publish_shop_orders | 允许收银员发布店铺订单。 | 禁用此选项将阻止收银员在 POS 中完成并处理新的店铺订单。 |
read_private_products | 允许收银员访问私密产品的详情。 | 禁用此选项将阻止收银员查看 POS 中可用私密产品的详情。 |
read_private_shop_coupons | 允许收银员访问私密店铺优惠券的详情。 | 禁用此选项将阻止收银员查看 POS 中私密店铺优惠券的详情。 |
read_private_shop_orders | 允许收银员访问私密店铺订单的详情。 | 禁用此选项将阻止收银员查看 POS 中私密店铺订单的详情。 |
read | 允许访问 WordPress 管理后台。 | 禁用此权限将阻止收银员访问 WordPress 仪表盘和用户资料页面。 |
通过为每个角色分配适当的权限,可以精细调整 POS 中不同用户的访问权限。这样可以控制谁能够执行特定操作、查看敏感信息以及更改店铺。
有关在 WordPress 中管理用户角色和权限的更多详细信息,请参阅 WordPress Codex。
默认角色功能概览
启用默认权限后,这三种角色在 POS 中的行为如下:
- 管理员 — 拥有完整的 POS 和管理访问权限。
- 商店管理员 — 拥有完整的 POS 和管理访问权限,但无法执行需要安装插件权限的操作,例如安装或启用 POS 扩展。
- 收银员 — 可执行常规 POS 销售流程,包括浏览产品、创建订单、处理付款、打印收据和管理客户;默认还可以创建和编辑产品(删除权限需自行启用),但无权访问设置、日志或店铺管理功能。
如需查看按端点划分的完整说明,包括 Pro 插件端点、令牌过期行为,以及区分权限失败与令牌失败的提示,请参阅 角色端点访问参考。
拥有多个角色的用户
WordPress 允许一个账户拥有多个角色,但只有在 Members 等插件添加角色复选框时,个人资料页面才会显示这一点。WordPress 会合并账户拥有的每个角色的权限,因此单独添加第二个角色通常不会减少任何权限。角色编辑器插件会改变这一行为。Members 默认启用了 被拒绝的权限应始终覆盖已授予的权限,因此,只要账户的任一角色将某项权限标记为 拒绝,该设置就会优先于其他所有角色授予的权限,无论角色排列顺序如何。同时拥有管理员和客户角色的账户,会继承客户角色中的每一项 拒绝 设置。
显示的内容取决于 WCPOS 版本。当前版本的 WCPOS 会拒绝 POS 登录,并说明缺少的权限:
例如,同时拥有管理员和客户角色且具有上述拒绝设置的账户会看到:
此账户无法使用 POS。缺少的权限:publish_shop_orders、read_private_products、read_private_shop_orders、list_users。它具有 Customer、Administrator 角色。一个角色中被拒绝的权限可以覆盖另一个角色授予的权限,Members 等角色编辑器插件会优先应用该拒绝。请移除额外角色,或在角色编辑器中清除拒绝设置。
旧版本仅在登录时检查 access_woocommerce_pos,而拒绝设置不会影响该权限,因此账户可以登录,但随后每个页面都会失败:没有产品或客户,订单也无法保存。在这些版本中,受影响设备上的 POS 日志会在 店铺运行状况 → 日志 中记录每个被拒绝的请求及服务器代码。产品上的 woocommerce_rest_cannot_view 表示缺少 read_private_products,客户上的该代码表示缺少 list_users,订单上的 woocommerce_rest_cannot_create 表示缺少 publish_shop_orders。这些条目会报告为 AUTH201。
**对于网站管理员:**请从账户中移除额外角色(用户 → 所有用户,然后编辑该账户),或者在角色编辑器中打开该角色,并清除所列权限上的 拒绝 标记。WP Admin 中的 访问权限 页面仅显示授予的权限;角色编辑器设置的 拒绝 不会显示在这里。修正角色后,已有 POS 会话的用户需退出后重新登录;登录时被拒绝的用户只需再次登录。