跳到主内容
版本: 1.x

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