# WCPOS Polylang 集成

为 WCPOS 添加对 [Polylang](https://polylang.pro/) 的感知能力，使 POS 只显示单一语言的产品——产品搜索、目录网格或收银流程中都不会出现重复的翻译版本。WCPOS Pro 店铺可以固定每个店铺的语言；免费安装版本则回退到 Polylang 默认语言。

## 功能说明[​](#what-it-does "直接链接到 功能说明")

* 按语言筛选 WCPOS 产品和变体 REST 查询。
* 拦截 WCPOS **快速同步**路由（POS 用于刷新本地索引的轻量级 `posts_per_page=-1` + `fields` 请求），因此重复的翻译版本永远不会到达客户端。
* 在免费安装版本中，应用 Polylang 默认语言。
* 在 Pro 安装版本中，每个店铺都可以在店铺编辑器的新**语言**部分选择自己的语言。
* 构建快速同步有效负载时，遵循 WCPOS **仅 POS** 产品可见性设置。

当 Polylang 未启用时，该集成会干净地不执行任何操作——可以在启用 Polylang 之前先安装此插件，不会产生错误。

## 安装[​](#installation "直接链接到 安装")

1

#### 安装 Polylang

安装 [Polylang](https://wordpress.org/plugins/polylang/)（或 Polylang Pro），并照常配置站点语言。确保至少有一种语言已设置为默认语言。

2

#### 安装 WCPOS Polylang

从 `WP Admin > POS > 设置 > 扩展` 中的 WCPOS 扩展目录安装，或从 [GitHub releases page](https://github.com/wcpos/wcpos-polylang/releases) 下载最新版本，并通过 `插件 > 新增 > 上传插件` 上传。

3

#### （Pro）设置每个店铺的语言

如果在 WCPOS Pro 上运行[多个店铺](/zh-CN/stores/.md)，请前往 `POS > 商店`，编辑一个店铺，并从侧边栏的**语言**部分选择其语言。保留为*默认*即可使用 Polylang 默认语言。

## 按店铺设置语言（Pro）[​](#per-store-language-pro "直接链接到 按店铺设置语言（Pro）")

在 WCPOS Pro 上，该插件会向店铺编辑器侧边栏添加一个**语言**部分。每个店铺都可以固定到一个 Polylang 语言 slug，提供给该店铺的产品将仅筛选为该语言。保留为*默认*的店铺会使用 Polylang 默认语言。

按店铺设置的值会作为 `_wcpos_polylang_language` meta 保存到店铺文章，并通过 WCPOS Pro 店铺 REST API (`/wcpos/v1/stores`) 公开，因此它会像其他任何店铺设置一样通过 POS 往返同步。

## 兼容性说明[​](#compatibility-notes "直接链接到 兼容性说明")

* \*\*仅 POS 产品：\*\*在 WCPOS 设置中启用仅 POS 模式时，快速同步载荷会排除仅在线销售的产品 ID，因此它们不会泄露到 POS 中。
* \*\*免费安装版：\*\*没有用于按店铺更改语言的 UI——该插件使用 Polylang 的默认语言。如果需要按店铺设置语言，请升级到 [WCPOS Pro](/zh-CN/getting-started/pro-license.md)。
* \*\*插件不可用：\*\*如果 Polylang 已停用，该插件会静默不执行任何操作。它不会抛出错误，也不会阻止 POS。

## 开发者钩子[​](#developer-hooks "直接链接到 开发者钩子")

对于高级用法，该插件公开了几个过滤器：

| 过滤器                             | 用途                                                             |
| ---------------------------------- | ---------------------------------------------------------------- |
| `wcpos_polylang_resolved_language` | 覆盖给定请求使用的语言。接收已解析的 slug 和 `WP_REST_Request`。 |
| `wcpos_polylang_default_language`  | 当未设置按店铺的值时，覆盖备用语言。                             |
| `wcpos_polylang_is_supported`      | 无论是否检测到 Polylang，都强制开启或关闭该插件。                |
| `wcpos_polylang_minimum_version`   | 要求最低 Polylang 版本（默认：不设置版本门槛）。                 |

## 要求[​](#requirements "直接链接到 要求")

WooCommerce

<!-- -->

: 已安装并启用 WooCommerce

Polylang

<!-- -->

: Polylang（免费版或 Pro 版），且至少配置了一种语言

WCPOS

<!-- -->

: 免费版可用；按店铺选择语言需要 WCPOS Pro

## 相关内容[​](#related "直接链接到 相关内容")

* [WCPOS WPML 集成](/zh-CN/extensions/wpml.md)
* [WCPOS WP Multilang 集成](/zh-CN/extensions/wp-multilang.md)
* [多店铺](/zh-CN/stores/.md)
* 来源：[github.com/wcpos/wcpos-polylang](https://github.com/wcpos/wcpos-polylang)
