Title: WP Branches For Post
Author: Hao Kexin
Published: <strong>2020 年 3 月 5 日</strong>
Last modified: 2026 年 10 月 12 日

---

搜索插件

![](https://ps.w.org/wp-branches-for-post/assets/banner-772x250.png?rev=3703142)

![](https://ps.w.org/wp-branches-for-post/assets/icon-256x256.png?rev=3703142)

# WP Branches For Post

 作者：[Hao Kexin](https://profiles.wordpress.org/haokexin/)

[下载](https://downloads.wordpress.org/plugin/wp-branches-for-post.2.3.3.zip)

 * [详情](https://cn.wordpress.org/plugins/wp-branches-for-post/#description)
 * [评价](https://cn.wordpress.org/plugins/wp-branches-for-post/#reviews)
 *  [安装](https://cn.wordpress.org/plugins/wp-branches-for-post/#installation)
 * [开发进展](https://cn.wordpress.org/plugins/wp-branches-for-post/#developers)

 [支持](https://wordpress.org/support/plugin/wp-branches-for-post/)

## 描述

WP Branches For Post 为 WordPress 添加类似 Git 的编辑工作流程。

要大幅修改已发布的文章或页面，不必直接编辑线上内容。可以先创建独立的工作分支，在
WordPress 编辑器中修改并查看差异，确认无误后再合并。整个过程中，公开文章的 ID、URL
和发布信息都不会改变。

Version 2.3.3 also sets the branch language before copying translated categories
and tags on Polylang sites. Version 2.3.2 stopped copying internal translation groups.
Regular editorial taxonomies, including language and categories, remain supported.
Version 2.3 adds selective, per-field conflict resolution inside Gutenberg; independent
reviewers can approve the exact proposed Original/Branch decisions before a guarded
merge. Version 2.2 introduced editorial approvals, scheduling and conservative block-
aware merging.

### 2.3.0 版本新功能

 * 在 Gutenberg 中逐字段解决符合条件的文章字段冲突；选择保留当前原始文章值或分支
   值，检查三方比较结果，并在合并前确认。
 * 对于要求独立审批的网站，请准确提交希望保留的各项冲突值；另一名有权限的审核人员
   须针对这些具体选择和当前内容快照进行审批。
 * 拒绝不完整或已被修改的选择、过期审核、不安全或不受支持的字段，以及在审批后替换
   为其他选择的尝试。
 * 保留仅在原始文章中发生的更改，以及原始文章的 ID、URL 和历史记录；绝不将内部审核
   提案复制到已发布内容。
 * 在现有的“文章分支”编辑器侧边栏中进行审核、审批和定时合并；可在“工具 > 分支工作
   流程”中查看提交的冲突值选择。
 * 改进工作流程控件的响应式布局和键盘操作体验。
 * 已在真实 WordPress 7.1.3 / PHP 8.2、8.3 和 8.4 环境以及 WordPress 6.6 基准环境
   中测试，并覆盖 Gutenberg 浏览器自动化和常用编辑器/SEO 插件的共存情况。

部分新增的工作流程界面文字在日语和中文译文单独获得批准前，会暂时回退为英语；此前
已获批准的翻译目录将予以保留。

### 2.2.0 版本新功能

 * 合并 Gutenberg 中不同顶层区块的独立编辑，同时安全地拒绝含糊不清或相互重叠的更改。
 * 请求独立的编辑审批；管理员可以要求每次合并分支前都必须获得审批。
 * 为未来的站点本地时间安排安全合并，并在执行时重新检查权限、审批状态和冲突。
 * 在“工具 > 分支工作流程”中查找待审核的编辑请求；也可以使用分支管理工具栏和文章
   列表中的快捷入口。
 * 安全同步 Yoast SEO、Elementor 和 ACF 元数据中互不冲突的更改。

审核和定时合并与手动操作使用同一套保留原始文章状态的合并服务。定时合并依赖 WP-Cron；
访问量较低的网站可能晚于指定时间执行。新的工作流程界面文字暂时以英语提供，待单独
审核翻译；现有翻译不受影响。

#### 工作流程一览

 1.  打开已发布、私密或定时发布的文章、页面，或受支持的自定义文章类型。
 2.  打开“文章分支”面板，选择“创建分支”。
 3.  WordPress 会打开一个隔离的草稿分支。公开的原始文章保持不变。
 4.  像平常一样编辑分支。需要时可随时预览分支。
 5.  选择“检查更改”。
 6.  检查分支更改、原始文章的较新更改、冲突以及标识信息更改。
 7.  如果原始文章有较新的非冲突编辑，并且你希望先将它们带入分支再继续，请选择“从原始
     文章更新分支”。
 8.  检查结果无冲突时，选择“保存并合并到原始文章”。
 9.  如果两边以不同方式修改了同一个值，请检查冲突；只有当你明确希望对列出的冲突采用
     分支值时，才使用强制合并。
 10. 合并成功后，原始文章仍是公开文章，工作分支会被移到回收站。

#### 带截图的功能指南

插件页面上的截图遵循下面描述的同一工作流程，因此你可以在使用前看到各个控件的实际
样子：

 * 截图 1 — 安全地开始：在原始文章中打开“文章分支”面板，选择“创建分支”。公开文章
   不会受到影响。
 * 截图 2 — 隔离工作：分支编辑器会显示它与原始文章的关系、预览链接、检查状态，以及
   该分支可用的操作。
 * 截图 3 — 合并前检查：“检查更改”会打开三方比较，让你同时查看基准版本、当前原始
   文章和分支值。
 * 截图 4 — 带入安全的上游更改：原始文章出现较新的非冲突更改时，“从原始文章更新分支”
   会变为可用。
 * 截图 5 — 更新后继续：从原始文章刷新分支后，编辑器会以重新基于原始文章的状态和
   全新的合并检查重新载入。
 * 截图 6 — 真正冲突时停止：当原始文章和分支以不同方式修改同一个可合并值时，普通
   合并会被阻止，并显示发生冲突的路径。
 * 截图 7 — 检查后才能强制合并：操作前需要另行确认，而且只有已经检查的冲突才会优先
   采用分支值。
 * 截图 8 — 拒绝过期检查：如果检查后分支或原始文章发生变化，合并会停止，必须重新
   检查当前状态。
 * 截图 9 — 丢弃分支前必须确认。操作只会将分支移入回收站，不会修改公开的原始文章。
 * 截图 10 — 从原始文章查看活动工作：原始文章会列出现有分支及其当前检查状态。
 * 截图 11 — 保持正常的 WordPress 导航：在文章列表中仍可查看分支状态并使用快速操作。
 * 截图 12 — 了解同步样板的作用范围：引用同步样板的分支会显示警告，因为编辑同步样板
   本身会全局影响 WordPress。

#### “文章分支”面板会显示哪些信息

在原始文章上，面板会显示是否可以创建分支，并列出可编辑的活动分支。

在分支上，面板会显示：

 * 返回原始文章的链接。
 * 分支和原始文章的预览链接。
 * 分支创建者。
 * 当前检查状态。
 * 检测到的分支更改和冲突数量。
 * 使用“检查更改”打开详细的合并检查。
 * 当原始文章的较新更改可以安全带入分支时，使用“从原始文章更新分支”。
 * 分支可以正常合并时，使用“保存并合并到原始文章”。
 * 针对已检查冲突的明确强制合并路径。
 * 不再需要工作分支时，选择“丢弃分支”。

#### 理解检查状态

 * 干净：没有不兼容的较新更改阻止普通合并。
 * 可更新：原始文章包含较新的非冲突工作。插件可以在保留分支独有编辑的同时更新分支。
 * 提示：原始文章修改了分支不允许覆盖的标识相关数据，例如别名或发布标识信息。
 * 冲突：原始文章和分支以不同方式修改了同一份可合并数据。在你检查情况之前，普通合并
   会被阻止。
 * 旧版/未知：旧分支没有精确三方检查所需的完整 2.1 基准。任何强制合并前都请先手动
   检查。
 * 缺失：已无法安全解析原始文章，因此无法合并。

#### 合并检查包含什么

检查会将更改分为四组：

 * 分支更改：工作分支中发生变化的可合并值。
 * 创建分支后的原始文章更改：直接对原始文章进行的较新更改。
 * 冲突：两边以不同方式修改的路径。
 * 合并时保留的原始文章标识更改：插件有意不覆盖的更改。

对于可检查字段，面板还会显示基准版本、当前原始文章和分支值，帮助你理解该项目为何
会被列出。

#### 同步内容

成功合并可以同步普通编辑内容、受支持的文章元数据和分类法。

插件会有意保留原始文章的标识信息和发布状态。尤其是，合并不会替换原始文章 ID、GUID、
别名、作者或发布日期。对于层级内容，分支不能修改原始父级关系，因为这可能改变公开
URL。

内容和特色图片元数据中已引用的媒体 ID 仍可继续使用。附件不会被重新指定父级。

#### 他人修改原始文章时如何继续编辑

2.1 版本使用创建分支时捕获的基准来区分三种情况：

 * 只有分支修改了某个值：可以应用分支值。
 * 只有原始文章修改了某个值：会保留较新的原始文章值。
 * 两边以不同方式修改了同一个值：该值属于冲突，普通合并会被阻止。

因此，即使创建分支后原始文章发生变化，分支通常仍可以安全合并。

#### 从原始文章更新分支

当原始文章存在较新的非冲突更改时，“从原始文章更新分支”会让工作分支重新基于较新的
原始状态。

仅分支上的工作会被保留，仅原始文章上的工作会被导入分支，并记录新的基准。如果操作
无法安全完成，插件会尝试把分支恢复到之前的状态，而不是留下部分更新的状态。

#### 强制合并

为避免不必要的覆盖，插件不会默认使用强制合并。

只有检测到并检查冲突后才会提供强制合并。对于列出的合并冲突，强制合并会优先采用分支
值；原始文章中较新的非冲突工作仍会保留。

扩展还可以通过插件的权限/过滤器边界进一步限制谁能强制合并。

#### 同步样板

WordPress 同步样板属于全局内容。编辑同步样板本身会改变所有使用该样板的位置，并不
会被文章分支隔离。

当分支引用同步样板时，WP Branches For Post 会在分支面板中发出警告，避免把全局样板
编辑误认为隔离的分支编辑。

#### 安全性与失败处理

 * 分支始终保持非公开，普通 WordPress 发布操作会被强制恢复为草稿。
 * 凡是会修改内容的操作，都将在服务层再次检查 WordPress 用户权限。
 * 浏览器操作和 REST 路由使用适当的 nonce/权限保护。
 * 每个 2.1 分支都会保存完整的基准快照，用于三方检查。
 * 普通合并会拒绝未解决的冲突。
 * 合并和重新基于原始文章的操作会验证同步状态、拒绝过期的已检查数据，并在写入失败
   后尝试回滚。
 * 如果合并后无法完成分支清理，插件会恢复原始文章，而不是报告部分成功。
 * 成功合并和放弃的分支会移到回收站，而不是永久删除。
 * 更新原始文章时，WordPress 会照常创建修订版本历史记录。
 * 插件不会使用 SQL 直接重写修订版本或附件父级。

#### 区块编辑器、经典编辑器和列表界面

完整的检查体验可在区块编辑器的文档侧边栏中使用。

经典编辑器、文章列表行操作和管理栏仍保留兼容控件，可用于创建/打开分支以及执行受支持
的分支操作。要最清晰地检查冲突，请使用区块编辑器面板。

#### 分支控件故障排查

如果某个操作不可用，或插件停止了合并，通常这是安全检查的结果，而不是存在某个隐藏
设置：

 * 原始文章存在未保存的区块编辑器更改时，“创建分支”会被禁用。请先保存或放弃这些编辑，
   使分支基准与已保存的原始文章一致。
 * “创建分支”仅在内容处于已发布、私密、定时发布等受支持的已保存状态，并且你的 WordPress
   权限允许该操作时可用。
 * “从原始文章更新分支”仅在原始文章存在不与分支冲突的较新更改时显示。并不需要在每次
   合并前都执行。
 * 存在未解决的真实冲突时，不会提供“保存并合并到原始文章”。请先打开“检查更改”并检查
   列出的路径。
 * 如果检查后分支或原始文章又发生变化，合并会停止并刷新检查状态。再次尝试前请检查
   当前状态。
 * 仅当冲突或旧版分支需要人工确认，且当前账户拥有强制合并权限时，才会显示该操作。
 * 如果原始文章缺失，或其文章类型不再与分支匹配，则无法合并。
 * 区块编辑器提供完整的三方检查。经典编辑器和列表界面保留兼容操作，但冲突较多的工作
   在区块编辑器中最清晰。

#### 与旧版分支的兼容性

旧版插件创建的分支仍可被识别。

如果原始文章未发生变化，带有兼容基准哈希的 2.0 版分支仍可正常合并。更早的分支可能
缺少 2.1 版的完整快照，因此无法显示详细的三方比较；在无法确认安全性时，插件会要求
人工检查。

### 开发者

可用的过滤器（filter）和动作钩子（action）包括：

 * `wbfp_branchable_post_statuses`
 * `wbfp_create_branch_post_data`
 * `wbfp_excluded_meta_keys`
 * `wbfp_mergeable_post_fields`
 * `wbfp_can_force_merge`
 * `wbfp_branch_created`
 * `wbfp_before_merge`
 * `wbfp_after_merge`

即使扩展过滤器已经运行，插件也会继续执行关键安全限制：分支必须保持为相同文章类型
的草稿；内部维护用的元数据不参与同步；只有允许列表内的核心字段可以合并；强制合并
仍须通过权限检查。

数据流请参见 `ARCHITECTURE.md`，授权和同步边界请参见 `SECURITY.md`，2.1 使用的可
复现完整验证环境请参见 `TESTING.md`。

区块编辑器源代码位于 `src/index.js`，并使用 `@wordpress/scripts` 构建。

便于阅读的源代码和构建工具维护在 https://github.com/hsxk/WP-Branches-For-Post/。

## 屏幕截图

[⌊原始文章：在“文章分支”面板中可以了解独立编辑流程，并使用“创建分支”功能。⌉⌊原始
文章：在“文章分支”面板中可以了解独立编辑流程，并使用“创建分支”功能。⌉[

原始文章：在“文章分支”面板中可以了解独立编辑流程，并使用“创建分支”功能。

[⌊工作分支：显示分支状态、原始文章/分支预览链接，以及“检查更改”和“放弃分支”控件。⌉⌊
工作分支：显示分支状态、原始文章/分支预览链接，以及“检查更改”和“放弃分支”控件。⌉[

工作分支：显示分支状态、原始文章/分支预览链接，以及“检查更改”和“放弃分支”控件。

[⌊合并检查：合并前对基准版本、当前原始文章和分支值进行三方比较。⌉⌊合并检查：合并
前对基准版本、当前原始文章和分支值进行三方比较。⌉[

合并检查：合并前对基准版本、当前原始文章和分支值进行三方比较。

[⌊可更新：原始文章存在较新的非冲突更改时，可通过“从原始文章更新分支”将其带入分支。⌉⌊
可更新：原始文章存在较新的非冲突更改时，可通过“从原始文章更新分支”将其带入分支。⌉[

可更新：原始文章存在较新的非冲突更改时，可通过“从原始文章更新分支”将其带入分支。

[⌊已更新分支：重新基于原始文章更新后的分支会载入最新的安全更改和全新的检查状态。⌉⌊
已更新分支：重新基于原始文章更新后的分支会载入最新的安全更改和全新的检查状态。⌉[

已更新分支：重新基于原始文章更新后的分支会载入最新的安全更改和全新的检查状态。

[⌊冲突保护：当两边以不同方式修改了同一个值时，普通合并会被阻止。⌉⌊冲突保护：当两
边以不同方式修改了同一个值时，普通合并会被阻止。⌉[

冲突保护：当两边以不同方式修改了同一个值时，普通合并会被阻止。

[⌊强制合并确认：对已检查的冲突采用分支值之前，必须再次确认这项可能覆盖内容的操作。⌉⌊
强制合并确认：对已检查的冲突采用分支值之前，必须再次确认这项可能覆盖内容的操作。⌉[

强制合并确认：对已检查的冲突采用分支值之前，必须再次确认这项可能覆盖内容的操作。

[⌊过期检查保护：如果检查状态后分支或原始文章又发生变化，合并会被停止。⌉⌊过期检查
保护：如果检查状态后分支或原始文章又发生变化，合并会被停止。⌉[

过期检查保护：如果检查状态后分支或原始文章又发生变化，合并会被停止。

[⌊放弃确认：可以仅将分支移到回收站，而不修改公开的原始文章。⌉⌊放弃确认：可以仅将
分支移到回收站，而不修改公开的原始文章。⌉[

放弃确认：可以仅将分支移到回收站，而不修改公开的原始文章。

[⌊原始文章上的现有分支：开始更多工作前，可以看到活动分支及其当前检查状态。⌉⌊原始
文章上的现有分支：开始更多工作前，可以看到活动分支及其当前检查状态。⌉[

原始文章上的现有分支：开始更多工作前，可以看到活动分支及其当前检查状态。

[⌊文章列表集成：在 WordPress 管理列表中仍可查看分支状态并使用快速分支操作。⌉⌊文章
列表集成：在 WordPress 管理列表中仍可查看分支状态并使用快速分支操作。⌉[

文章列表集成：在 WordPress 管理列表中仍可查看分支状态并使用快速分支操作。

[⌊同步样板警告：编辑器会说明，编辑被引用的同步样板会全局影响 WordPress，并不会被
分支隔离。⌉⌊同步样板警告：编辑器会说明，编辑被引用的同步样板会全局影响 WordPress，
并不会被分支隔离。⌉[

同步样板警告：编辑器会说明，编辑被引用的同步样板会全局影响 WordPress，并不会被分支
隔离。

## 安装

 1. 从 WordPress“插件”界面安装 WP Branches For Post，或将其上传到 `/wp-content/plugins/
    wp-branches-for-post`。
 2. 启用插件。
 3. 在编辑器中打开现有的已发布、私密或定时发布的文章/页面。
 4. 在编辑器设置侧边栏中打开“文章分支”面板。
 5. 选择“创建分支”，开始一个安全的工作副本。

正常工作流程不需要单独的设置页面。

## 常见问题

### 如何请求审核与审批？

打开工作分支，从管理工具栏中选择“分支审核与定时合并”，或前往“工具 > 分支工作流程”。
保存实际更改后请求审核。另一名具有相应权限的编辑可以查看“基准 / 原始文章 / 分支”
三方比较，并批准更改或要求修改。分支创建者不能批准自己的提案。

### 所有网站都必须使用独立审批吗？

不需要。默认关闭此策略，以保留现有工作流程。管理员可以在“工具 > 分支工作流程”中启用。
启用后，即使直接合并或强制合并，也必须有与分支当前状态相符的审批。修改原始文章或
分支都会使已有审批失效。

### 可以安排稍后合并吗？

可以。在“分支工作流程”中选择未来的站点本地时间。执行时，插件会重新检查原始文章和
分支、权限、审批状态及冲突。定时任务绝不会强制合并，也不会覆盖已过期的版本。WP-Cron
的运行依赖网站访问量，因此如果需要准时执行，请配置可靠的服务器 Cron 任务。

### 可以合并对不同 Gutenberg 区块所做的更改吗？

可以，但仅限双方修改的是不同且明确的顶层区块，并且能够无损保留已保存的标记内容时。
共享/同步区块样板、自由格式 HTML 内容、无法明确判定的区块以及重叠修改仍需人工检查；
不安全的更改不会被悄悄合并。

### 分支会公开吗？

不会。分支是独立的工作草稿。即使尝试通过 WordPress 正常发布，分支也会恢复为草稿。
编辑完成后，请使用插件的合并功能。

### 合并会改变原始文章的 URL 或文章 ID 吗？

不会。现有原始文章仍然是公开资源。其文章 ID 和标识信息会被保留，别名、作者、发布
日期等标识相关值不会取自分支。

### 如果我正在编辑时有人修改了原始文章，会发生什么？

插件会比较原始文章、分支和已保存的基准。仅原始文章上的工作可以保留，非冲突工作可以
重新基于原始文章更新，而重叠且不同的编辑会被报告为冲突，而不是被静默覆盖。

### 每次合并前都必须更新分支吗？

不需要。如果原始文章的较新更改不与分支冲突，三方合并可以保留这些更改。当你希望在
最新原始状态之上继续编辑时，先更新分支会更方便。

### 强制合并会覆盖什么？

对于你明确检查过的冲突，强制合并会优先采用分支值。原始文章中不与分支冲突的较新工作
仍会保留。

### 合并前可以预览分支吗？

可以。分支面板提供分支预览链接和当前原始文章链接，因此你可以在编辑器之外进行比较。

### 放弃分支后会发生什么？

分支会被移到回收站。原始文章不会被修改。

### 成功合并后会发生什么？

原始文章会通过 WordPress 更新并保留其标识信息，已合并的分支会移到回收站。

### 分类、标签和自定义分类法也会包含吗？

受支持的分类法会作为分支工作流程的一部分同步；如果已检查的分支状态为空，也包括清
空该分类法。

### 文章元数据也会包含吗？

插件会同步受支持的文章元数据，但不包括运行时和插件内部维护用的元数据键；扩展也可以
指定其他不参与同步的字段。

### 特色图片怎么办？

特色图片元数据属于普通同步元数据。被引用的媒体项目会保留现有附件标识。

### 同步样板会被隔离在分支中吗？

不会。同步样板是全局 WordPress 实体。插件会检测引用并发出警告，但编辑同步样板本身
会影响所有使用该样板的位置。

### 支持自定义文章类型吗？

可以，只要该文章类型使用正常的 WordPress 编辑 API，并且当前用户拥有所需权限。

### 可以使用旧版插件创建的分支吗？

可以。兼容路径仍然保留，但旧分支可能没有详细三方检查所需的完整 2.1 基准，因此会以
更保守的方式处理。

## 评价

此插件暂无评价。

## 贡献者及开发者

「WP Branches For Post」是开源软件。 以下人员对此插件做出了贡献。

贡献者

 *   [ Hao Kexin ](https://profiles.wordpress.org/haokexin/)
 *   [ Alkesh Miyani ](https://profiles.wordpress.org/alkesh7/)

「WP Branches For Post」插件已被翻译至 10 种本地化语言。 感谢[所有译者](https://translate.wordpress.org/projects/wp-plugins/wp-branches-for-post/contributors)
为本插件所做的贡献。

[帮助将「WP Branches For Post」翻译成简体中文。](https://translate.wordpress.org/projects/wp-plugins/wp-branches-for-post)

### 对开发感兴趣吗?

您可以[浏览代码](https://plugins.trac.wordpress.org/browser/wp-branches-for-post/)，
查看[SVN仓库](https://plugins.svn.wordpress.org/wp-branches-for-post/)，或通过[RSS](https://plugins.trac.wordpress.org/log/wp-branches-for-post/?limit=100&mode=stop_on_copy&format=rss)
订阅[开发日志](https://plugins.trac.wordpress.org/log/wp-branches-for-post/)。

## 更新日志

#### 2.3.3

 * Fixed Polylang multilingual branch creation when the new draft initially uses
   the site default language: synchronize its intended language before category 
   and tag terms.
 * Prevented translated categories from being automatically rewritten to the wrong
   language during branch creation; kept strict taxonomy verification, original 
   translation relationships and normal editorial taxonomy behavior.
 * Added real WordPress regression coverage for default-language draft creation 
   and language-sensitive category synchronization. No translation catalog updates.

#### 2.3.2

 * Fixed branch creation failures on Polylang sites by excluding the internal post_translations
   relationship from copied and merged taxonomy state.
 * Kept normal post language, categories, tags and editable custom taxonomy assignments
   synchronized; the original’s translation group remains unchanged.
 * Normalized older stored branch baselines in memory so internal translation-group
   data does not trigger false merge conflicts.
 * Added regression tests for multilingual branch creation, language preservation,
   legacy snapshots and translation-group safety. No translation catalog updates.

#### 2.3.1

 * Localized the 2.3 editorial review, scheduling, conflict choices and error messages
   in Japanese, Simplified Chinese and Traditional Chinese (54 new messages per 
   locale).
 * Updated PHP gettext and Gutenberg editor translation bundles, preserving every
   previously approved translation.
 * Added real multilingual Gutenberg mobile and workflow-page browser regression
   tests on WordPress 7.1.3.

#### 2.3.0

 * 新增安全且明确的 Gutenberg 逐字段冲突值选择，强制校验当前审核令牌，并保留原始
   文章中的独立更改。
 * 新增须经独立审核的冲突值选择提案，将审批与内容哈希及选择哈希绑定，并在两个合并
   检查关口核对是否与批准的选择完全一致。
 * 改进 WordPress“工具”页面中的工作流程可见性、移动端布局，以及浏览器中的键盘操作
   与无障碍功能测试覆盖。
 * 将真实集成测试和可视化测试扩展至 WordPress 7.1.3 / PHP 8.2–8.4，同时保留 WordPress
   6.6 的回归测试覆盖。
 * 所有此前已获批准的翻译文件均保持不变。

#### 2.2.0

 * 新增保守且无损的 Gutenberg 顶层区块感知三方合并与变基功能，可处理互不冲突的编辑。
 * 新增可选的双人编辑审批、待审核请求、审核人员权限校验、过期审批失效机制和审核队列。
 * 新增通过 WP-Cron 执行的未来定时安全合并，包含唯一任务 ID、到期时间检查、权限重新
   校验、禁止强制合并冲突内容及取消功能。
 * 新增工作流程管理、REST 接口、针对具体情况的错误提示，以及编辑器、管理工具栏和
   文章列表的快捷入口。
 * 扩展对 Yoast Duplicate Post、Yoast SEO、Advanced Custom Fields 和 Elementor 的
   兼容性测试。
 * 扩展真实 WordPress 和 Gutenberg 浏览器回归测试、安全性验证以及 35 项可视化测试
   证据。
 * 保留现有翻译目录，并调整 CI，使其验证已获批准的翻译，而不再因无关代码更改重新
   生成翻译目录。

#### 2.1.1

 * 改进合并检查：菜单顺序、评论状态、Ping 状态和密码状态现在都能清楚显示“基准版本／
   原始文章／分支”三方的值。
 * 在三方审查中加入了易读的分类法术语名称，以及带缩略图预览的特色图片标识信息。
 * 在 REST 审查数据中继续隐藏文章密码，并避免暴露任意自定义元数据的值。
 * 扩展了“现有分支”卡片，显示分支 ID、创建者、修改时间、状态、变更数量和冲突数量。
 * 在文章和页面列表中新增专用的“现有分支”视图，并兼容旧版分支关联关系。
 * 使分支列表的计数和筛选与 WordPress 作者权限保持一致，因此没有 edit_others_posts
   权限的用户只能看到自己的分支。
 * 当当前用户无权读取原始文章时，防止在分支列表状态中泄露该私密原始文章的标题。
 * 使用 WordPress 自带的翻译，显示便于理解的 Open／Closed 状态。
 * 将真实 WordPress 环境的集成检查增至 130 项、Gutenberg 浏览器检查增至 42 项，同时
   保留 35 项用于验证界面与教程内容一致性的测试。
 * 加强了发布目录树和 ZIP 包的清理规则，确保开发用隐藏文件不会进入可分发插件包。

#### 2.1.0

 * 新增分支、原始文章与基准版本的三方比较，不再将原始文章后续发生的每次修改都视为
   冲突。
 * 在区块编辑器的合并检查中，详细列出分支与原始文章各自的更改、具体冲突，以及需要
   保留的原始文章属性变更。
 * 为原始文章中较新的非冲突工作新增安全的“从原始文章更新分支”行为。
 * 新增选择性三方合并行为，在应用仅分支更改的同时保留仅原始文章更改。
 * 对于双方修改同一内容而产生的冲突，新增了检查确认后才能强制合并的处理流程。
 * 为合并和分支更新失败新增回滚与写入后验证。
 * 新增检查状态标识及服务层版本有效性校验。如果检查后分支或原始文章又发生变化，插
   件会拒绝合并。
 * 在“从原始文章更新分支”后重新载入 Gutenberg，使编辑器始终反映重新基于原始文章的
   服务器状态。
 * 当合并已成功写入但无法将分支移到回收站时新增回滚，防止出现部分成功状态。
 * 使经典编辑器和文章列表操作与 2.1 检查状态保持一致，使安全的非冲突更新不再要求
   强制合并。
 * 新增经过验证的基准元数据写入，以及分支刷新无法保存新基准时的回滚。
 * 在分支刷新写入前后新增过期状态检查，使原始文章/分支并发保存后必须重新检查。
 * 合并时保留层级文章的父级，避免意外改变公开 URL。
 * 新增分支/原始文章预览链接和同步样板警告。
 * 为 2.1 工作流程新增基于真实 WordPress 7.1 环境的集成测试，以及使用 Gutenberg 
   的浏览器端到端测试。
 * 扩展 WordPress.org 文档和截图，用于说明完整工作流程。

#### 2.0.1

 * 为适配当前区块编辑器 JSX 运行时，将最低支持的 WordPress 版本提高到 6.6。
 * 补充缺失的译者注释，并刷新随插件提供的区块编辑器构建产物。
 * 改进 Plugin Check 和 PHPCS 覆盖，并使发布构建目录保持一致。
 * 将 WordPress.org 素材移到标准的 .wordpress-org 目录，并新增基于标签触发的 SVN
   部署。
 * 补充了在真实 WordPress 环境中进行的安全验证测试。
 * 特别感谢 @miyanialkesh7 通过 PR #2–#6 作出的贡献：真实 WordPress 安全验证、Plugin
   Check 与 PHPCS 改进、i18n 修复，以及 WordPress.org 发布工具。

#### 2.0.0

 * 针对现代 WordPress 重新构建分支工作流程。
 * 新增区块编辑器文档侧边栏集成。
 * 新增使用基于用户权限的权限回调进行检查的 REST 端点。
 * 新增基于基准快照的冲突检测。
 * 将旧版由发布操作触发的合并改为明确的合并操作。
 * 防止分支文章变为公开状态。
 * 重构文章元数据同步，以正确保留多值键并同步删除操作。
 * 重构分类法同步，使已清空的分类法也能正确同步。
 * 移除通过直接 SQL 修改修订版本和附件父级关系的逻辑。
 * 合并时保留原始文章的文章 ID、URL、状态、作者、别名和发布日期。
 * 合并或放弃的分支现在会移到回收站，而不是永久删除。
 * 增加对 1.x 版本创建的分支的兼容处理。
 * 新增现代开发工具，以及 CI 语法和构建检查。

#### 1.3.0

 * 新增开发者过滤器，并整理代码。

#### 1.2.0

 * 新增简体中文、繁体中文和日语翻译。

#### 1.1.0

 * 新增管理工具栏、文章列表操作以及初步的区块编辑器支持。

#### 1.0.0

 * 首次发布。

## 额外信息

 *  版本 **2.3.3**
 *  最后更新：**6 小时前**
 *  活跃安装数量 **40+**
 *  WordPress 版本 ** 6.6 或更高版本 **
 *  已测试的最高版本为 **7.1.3**
 *  PHP 版本 ** 8.2 或更高版本 **
 *  语言
 * [Chinese (China)](https://cn.wordpress.org/plugins/wp-branches-for-post/) 、 
   [Chinese (Taiwan)](https://tw.wordpress.org/plugins/wp-branches-for-post/) 、
   [Dutch (Belgium)](https://nl-be.wordpress.org/plugins/wp-branches-for-post/) 、
   [English (US)](https://wordpress.org/plugins/wp-branches-for-post/) 、 [Japanese](https://ja.wordpress.org/plugins/wp-branches-for-post/)、
   [Romanian](https://ro.wordpress.org/plugins/wp-branches-for-post/) 、 [Russian](https://ru.wordpress.org/plugins/wp-branches-for-post/)、
   [Spanish (Chile)](https://cl.wordpress.org/plugins/wp-branches-for-post/) 、 
   [Spanish (Mexico)](https://es-mx.wordpress.org/plugins/wp-branches-for-post/)、
   [Spanish (Spain)](https://es.wordpress.org/plugins/wp-branches-for-post/) 和 
   [Spanish (Venezuela)](https://ve.wordpress.org/plugins/wp-branches-for-post/).
 *  [翻译成简体中文](https://translate.wordpress.org/projects/wp-plugins/wp-branches-for-post)
 * 标签
 * [editorial workflow](https://cn.wordpress.org/plugins/tags/editorial-workflow/)
   [gutenberg](https://cn.wordpress.org/plugins/tags/gutenberg/)[revision](https://cn.wordpress.org/plugins/tags/revision/)
   [staging](https://cn.wordpress.org/plugins/tags/staging/)
 *  [高级视图](https://cn.wordpress.org/plugins/wp-branches-for-post/advanced/)

## 评级

尚未提交反馈。

[您的评价](https://wordpress.org/support/plugin/wp-branches-for-post/reviews/#new-post)

[查看全部评论](https://wordpress.org/support/plugin/wp-branches-for-post/reviews/)

## 贡献者

 *   [ Hao Kexin ](https://profiles.wordpress.org/haokexin/)
 *   [ Alkesh Miyani ](https://profiles.wordpress.org/alkesh7/)

## 支持

有话要说吗？是否需要帮助？

 [查看支持论坛](https://wordpress.org/support/plugin/wp-branches-for-post/)