跳到主内容
版本: 1.x

访问 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_optionsmanage_woocommerceedit_usersedit_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 会话的用户需退出后重新登录;登录时被拒绝的用户只需再次登录。