WCPOS Polylang 集成
为 WCPOS 添加对 Polylang 的感知能力,使 POS 只显示单一语言的产品——产品搜索、目录网格或收银流程中都不会出现重复的翻译版本。WCPOS Pro 店铺可以固定每个店铺的语言;免费安装版本则回退到 Polylang 默认语言。
功能说明
- 按语言筛选 WCPOS 产品和变体 REST 查询。
- 拦截 WCPOS 快速同步路由(POS 用于刷新本地索引的轻量级
posts_per_page=-1+fields请求),因此重复的翻译版本永远不会到达客户端。 - 在免费安装版本中,应用 Polylang 默认语言。
- 在 Pro 安装版本中,每个店铺都可以在店铺编辑器的新语言部分选择自己的语言。
- 构建快速同步有效负载时,遵循 WCPOS 仅 POS 产品可见性设置。
当 Polylang 未启用时,该集成会干净地不执行任何操作——可以在启用 Polylang 之前先安装此插件,不会产生错误。
安装
1
安装 Polylang
安装 Polylang(或 Polylang Pro),并照常配置站点语言。确保至少有一种语言已设置为默认语言。
2
安装 WCPOS Polylang
从 WP Admin > POS > 设置 > 扩展 中的 WCPOS 扩展目录安装,或从 GitHub releases page 下载最新版本,并通过 插件 > 新增 > 上传插件 上传。
3
(Pro)设置每个店铺的语言
如果在 WCPOS Pro 上运行多个店铺,请前往 POS > 商店,编辑一个店铺,并从侧边栏的语言部分选择其语言。保留为默认即可使用 Polylang 默认语言。
按店铺设置语言(Pro)
在 WCPOS Pro 上,该插件会向店铺编辑器侧边栏添加一个语言部分。每个店铺都可以固定到一个 Polylang 语言 slug,提供给该店铺的产品将仅筛选为该语言。保留为默认的店铺会使用 Polylang 默认语言。
按店铺设置的值会作为 _wcpos_polylang_language meta 保存到店铺文章,并通过 WCPOS Pro 店铺 REST API (/wcpos/v1/stores) 公开,因此它会像其他任何店铺设置一样通过 POS 往返同步。
兼容性说明
- **仅 POS 产品:**在 WCPOS 设置中启用仅 POS 模式时,快速同步载荷会排除仅在线销售的产品 ID,因此它们不会泄露到 POS 中。
- **免费安装版:**没有用于按店铺更改语言的 UI——该插件使用 Polylang 的默认语言。如果需要按店铺设置语言,请升级到 WCPOS Pro。
- **插件不可用:**如果 Polylang 已停用,该插件会静默不执行任何操作。它不会抛出错误,也不会阻止 POS。
开发者钩子
对于高级用法,该插件公开了几个过滤器:
| 过滤器 | 用途 |
|---|---|
wcpos_polylang_resolved_language | 覆盖给定请求使用的语言。接收已解析的 slug 和 WP_REST_Request。 |
wcpos_polylang_default_language | 当未设置按店铺的值时,覆盖备用语言。 |
wcpos_polylang_is_supported | 无论是否检测到 Polylang,都强制开启或关闭该插件。 |
wcpos_polylang_minimum_version | 要求最低 Polylang 版本(默认:不设置版本门槛)。 |
要求
WooCommerce: 已安装并启用 WooCommerce
Polylang: Polylang(免费版或 Pro 版),且至少配置了一种语言
WCPOS: 免费版可用;按店铺选择语言需要 WCPOS Pro