Title: WP Branches For Post
Author: Hao Kexin
Published: <strong>05.03.2020</strong>
Last modified: 19.09.2026

---

Поиск плагинов

![](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.0.0.zip)

 * [Детали](https://ru.wordpress.org/plugins/wp-branches-for-post/#description)
 * [Отзывы](https://ru.wordpress.org/plugins/wp-branches-for-post/#reviews)
 *  [Установка](https://ru.wordpress.org/plugins/wp-branches-for-post/#installation)
 * [Разработка](https://ru.wordpress.org/plugins/wp-branches-for-post/#developers)

 [Поддержка](https://wordpress.org/support/plugin/wp-branches-for-post/)

## Описание

WP Branches For Post предоставляет Git-подобный редакционный процесс для контента
WordPress.

Вместо редактирования опубликованной записи на месте создайте черновую ветку. Публичный
оригинал остаётся неизменным, пока редактируется ветка. Когда работа готова, явно
объедините ветку обратно с той же ID исходной записи.

Версия 2.0 модернизирует первоначальный плагин 2020 года для современного редактора
блоков WordPress и REST API.

#### Основной рабочий процесс

 1. Откройте опубликованную, приватную или запланированную запись, страницу либо произвольный
    тип записи.
 2. Выберите «Создать ветку».
 3. Редактируйте изолированную черновую ветку.
 4. Проверьте состояние ветки в панели «Ветка записи».
 5. Когда всё готово, объедините её с оригиналом.
 6. Оригинал сохраняет URL, ID, статус публикации, автора, дату, комментарии и внешнюю
    идентичность.
 7. Объединённая ветка перемещается в корзину, а не удаляется навсегда.

#### Безопасность

 * Ветки остаются непубличными и не могут случайно заменить оригинал при нажатии
   кнопки «Опубликовать» в WordPress.
 * Каждая новая ветка сохраняет снимок исходного состояния.
 * Если оригинал изменился после создания ветки, обычное объединение блокируется.
 * Принудительное объединение доступно только как явное действие после проверки.
 * REST-эндпоинты используют проверки прав WordPress в callback-функциях разрешений.
 * Плагин больше не обновляет ревизии или родительские записи вложений прямыми SQL-
   запросами.
 * WordPress создаёт обычную историю ревизий при обновлении исходной записи.

#### Что синхронизируется

Во время объединения плагин синхронизирует редактируемое содержимое записи, метаданные
и все таксономии, сохраняя идентичность и статус публикации оригинала.

ID медиафайлов, на которые ссылаются содержимое записи и метаданные изображения 
записи, остаются прежними. Родительские записи вложений не меняются.

#### Редактор блоков

Панель документа «Ветка записи» показывает:

 * Создать ветку в исходной записи.
 * Существующие активные ветки.
 * Ссылка на исходную запись из ветки.
 * Состояние конфликта.
 * Объединить с оригиналом.
 * При наличии конфликта принудительно объединить после проверки.
 * Удалить ветку.

Классический редактор, действия строк списка записей и панель администратора сохраняют
облегчённые элементы совместимости.

#### Совместимость с 1.x

Версия 2.0 распознаёт ветки, созданные в формате метаданных 1.x.

У старых веток нет базового снимка, поэтому они отображаются с состоянием конфликта«
неизвестно» и требуют явного принудительного объединения после проверки оригинала.

Старое автоматическое поведение «опубликовать ветку и перезаписать оригинал» намеренно
удалено.

### Об авторе

WP Branches For Post поддерживает Hao Kexin — full-stack инженер и создатель продуктов,
живущий в Японии. С 2018 года его работа охватывает требования, проектирование систем,
разработку приложений, системы данных, развёртывание, наблюдаемость и долгосрочную
эксплуатацию в production.

Сейчас он сосредоточен на публичных данных, финансовом анализе, ИИ и сквозной продуктовой
инженерии. Он создаёт и поддерживает проекты, включая Time2Analyze — production-
систему для раскрытий публичных компаний, структурированных финансовых данных, аналитики,
Excel, MCP и ИИ-процессов.

Подробнее об авторе и текущих проектах: https://time2log.com/about/

### Примечания для разработчиков

Полезные фильтры и действия включают:

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

Критичные для безопасности инварианты продолжают применяться после фильтров расширения:
новая ветка остаётся черновиком того же типа записи, обязательные служебные метаданные
исключаются, а объединяемые базовые поля ограничены редакционным allowlist плагина.

См. `ARCHITECTURE.md` для потока данных создания/объединения и `SECURITY.md` для
границ авторизации, CSRF, REST, конфликтов и синхронизации данных.

CI намеренно не запускается для каждого коммита feature-ветки. Полная проверка PHP/
build/Plugin Check выполняется на `master`, релизных тегах или при ручном запуске
workflow.

Исходный код редактора блоков находится в `src/index.js` и собирается с помощью `@
wordpress/scripts`.

Читаемый исходный код и инструменты сборки поддерживаются по адресу https://github.
com/hsxk/WP-Branches-For-Post/.

## Скриншоты

[⌊Панель редактора блоков в исходной записи с безопасным действием «Создать ветку».⌉⌊
Панель редактора блоков в исходной записи с безопасным действием «Создать ветку»
.⌉[

Панель редактора блоков в исходной записи с безопасным действием «Создать ветку».

[⌊Редактирование изолированной ветки с явными действиями «Объединить с оригиналом»
и «Удалить ветку».⌉⌊Редактирование изолированной ветки с явными действиями «Объединить
с оригиналом» и «Удалить ветку».⌉[

Редактирование изолированной ветки с явными действиями «Объединить с оригиналом»
и «Удалить ветку».

[⌊Защита от конфликтов, если исходная запись изменилась после создания ветки.⌉⌊Защита
от конфликтов, если исходная запись изменилась после создания ветки.⌉[

Защита от конфликтов, если исходная запись изменилась после создания ветки.

[⌊Интеграция со списком записей: создание ветки, объединение ветки и её состояние.⌉⌊
Интеграция со списком записей: создание ветки, объединение ветки и её состояние.⌉[

Интеграция со списком записей: создание ветки, объединение ветки и её состояние.

## Установка

 1. Загрузите плагин в `/wp-content/plugins/wp-branches-for-post` или установите его
    через экран «Плагины» WordPress.
 2. Активируйте WP Branches For Post.
 3. Откройте существующую опубликованную запись и используйте панель «Ветка записи»
    или действие «Создать ветку».

## Часто задаваемые вопросы

### Получает ли ветка публичный URL?

Нет. Ветка — это изолированный рабочий черновик. Публикация ветки через обычный 
редактор блокируется; используйте «Объединить с оригиналом».

### Изменяет ли объединение URL или ID исходной записи?

Нет. Объединение обновляет существующую исходную запись и сохраняет её идентичность,
slug, статус публикации, автора и исходные даты.

### Что произойдёт, если кто-то изменит оригинал, пока я работаю в ветке?

Сохранённый базовый снимок больше не совпадает. Плагин помечает ветку как конфликтующую
и блокирует обычное объединение, чтобы новые изменения не были незаметно перезаписаны.

### Можно ли по-прежнему объединить старую ветку 1.x?

Да, но поскольку версия 1.x не сохраняла базовый снимок, после проверки требуется
явное принудительное объединение.

### Поддерживаются ли произвольные типы записей?

Да, если пользователь может редактировать запись, а тип записи использует стандартные
API редактирования WordPress. Таксономии и метаданные синхронизируются с веткой.

## Отзывы

Нет отзывов об этом плагине.

## Участники и разработчики

«WP Branches For Post» — проект с открытым исходным кодом. В развитие плагина внесли
свой вклад следующие участники:

Участники

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

«WP Branches For Post» переведён на 8 языков. Благодарим [переводчиков](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/),
или подпишитесь на [журнал разработки](https://plugins.trac.wordpress.org/log/wp-branches-for-post/)
по [RSS](https://plugins.trac.wordpress.org/log/wp-branches-for-post/?limit=100&mode=stop_on_copy&format=rss).

## Журнал изменений

#### 2.0.0

 * Переработан процесс веток для современного WordPress.
 * Добавлена интеграция с боковой панелью документа редактора блоков.
 * Добавлены REST-эндпоинты с callback-функциями разрешений на основе возможностей.
 * Добавлено обнаружение конфликтов по базовому снимку.
 * Объединение, запускаемое публикацией, заменено явными действиями объединения.
 * Предотвращена публикация записей-веток.
 * Переработана синхронизация метаданных с сохранением многозначных ключей и удалений.
 * Переработана синхронизация таксономий, чтобы передавались и очищенные таксономии.
 * Удалены прямые SQL-операции с ревизиями и родителями вложений.
 * При объединении сохраняются ID, URL, статус, автор, slug и даты публикации исходной
   записи.
 * Объединённые и удалённые ветки перемещаются в корзину вместо безвозвратного удаления.
 * Добавлена совместимость с ветками, созданными в версии 1.x.
 * Добавлены современные инструменты разработки и CI-проверки синтаксиса/сборки.

#### 1.3.0

 * Добавлены фильтры для разработчиков и очистка кода.

#### 1.2.0

 * Добавлены переводы zh_CN, zh_TW и ja.

#### 1.1.0

 * Добавлены действия в панели администратора/списке и начальная поддержка редактора
   блоков.

#### 1.0.0

 * Первый выпуск.

## Мета

 *  Версия **2.0.0**
 *  Обновление: **14 часов назад**
 *  Активных установок: **50+**
 *  Версия WordPress ** 6.4 или выше **
 *  Совместим вплоть до: **7.1.1**
 *  Версия 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/),
   [English (US)](https://wordpress.org/plugins/wp-branches-for-post/), [Japanese](https://ja.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://ru.wordpress.org/plugins/tags/editorial-workflow/)
   [gutenberg](https://ru.wordpress.org/plugins/tags/gutenberg/)[revision](https://ru.wordpress.org/plugins/tags/revision/)
   [staging](https://ru.wordpress.org/plugins/tags/staging/)
 *  [Дополнительно](https://ru.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/)

## Поддержка

Есть что сказать? Нужна помощь?

 [Перейти в форум поддержки](https://wordpress.org/support/plugin/wp-branches-for-post/)