Как синхронизировать поля ACF между сайтами WordPress

Advanced Custom Fields (ACF) — один из самых популярных плагинов для расширения возможностей редактирования контента в WordPress. Часто при работе с несколькими сайтами возникает необходимость синхронизировать именно поля ACF, чтобы сохранить идентичную структуру и избежать ручного повторного создания.

Проблемы синхронизации полей ACF между сайтами

ACF хранит настройки полей в базе данных, а именно в таблице wp_posts с типом записи acf-field-group и acf-field. Из-за этого стандартные методы экспорта/импорта не всегда удобны и безопасны, особенно если у вас несколько сайтов с разной базой контента.

Кроме того, плагины для миграции контента или базы данных часто не затрагивают поля ACF корректно, что ведет к рассинхронизации и ошибкам в отображении метаданных.

Решение — автоматизировать экспорт и импорт полей ACF с помощью кода и специальных плагинов для синхронизации, что позволит ускорить процесс и минимизировать человеческие ошибки.

Экспорт и импорт JSON файлов ACF

ACF поддерживает нативный экспорт и импорт групп полей через JSON. В админке ACF можно настроить локальную папку для сохранения файлов с полями, которые автоматически синхронизируются при развертывании сайта.

Чтобы включить эту функцию, добавьте в functions.php вашей темы следующий код:

function wpsync_acf_json_save_point( $path ) {
    // Путь к папке в вашей теме для хранения JSON
    $path = get_stylesheet_directory() . '/acf-json';
    return $path;
}
add_filter('acf/settings/save_json', 'wpsync_acf_json_save_point');

function wpsync_acf_json_load_point( $paths ) {
    // Удаляем стандартные пути, добавляем наш
    unset($paths[0]);
    $paths[] = get_stylesheet_directory() . '/acf-json';
    return $paths;
}
add_filter('acf/settings/load_json', 'wpsync_acf_json_load_point');

Теперь при сохранении полей ACF они будут сохраняться в виде JSON файлов в папке acf-json вашей темы, а при загрузке сайта WordPress будет автоматически подгружать эти файлы. Это позволяет просто синхронизировать поля между сайтами, копируя папку acf-json.

Автоматизация через WP-CLI для массовой синхронизации

Если вы работаете с множеством сайтов, удобным решением станет автоматизация экспорта и импорта полей ACF с помощью WP-CLI — командной строки для управления WordPress.

Для экспорта полей можно использовать команду:

wp acf export --post_id=group_123456 --path=/var/www/site1

Для импорта аналогично:

wp acf import --path=/var/www/site2 /path/to/exported-json-file.json

Это позволяет организовать регулярный обмен полями в рамках CI/CD процессов, облегчая работу команды разработчиков.

Пример кастомного скрипта для синхронизации полей ACF

Можно написать PHP-скрипт, который будет экспортировать все группы полей ACF в JSON и отправлять их на другой сайт по API. Ниже упрощённый пример функции для этого (функция с префиксом wpsync_ для уникальности):

function wpsync_export_acf_field_groups() {
    $groups = acf_get_field_groups();
    $exported = [];

    foreach ($groups as $group) {
        $fields = acf_get_fields($group['key']);
        $exported[] = [
            'group' => $group,
            'fields' => $fields
        ];
    }

    return json_encode($exported, JSON_PRETTY_PRINT);
}

Затем этот JSON можно отправить на другой сайт и там с помощью функции импорта восстановить группы и поля. Такой подход позволяет кастомизировать синхронизацию под свои нужды.

Плагины для удобной синхронизации ACF между сайтами

Есть несколько инструментов, которые облегчают задачу:

  • WP Sync DB — позволяет синхронизировать базу данных между сайтами, включая ACF, с возможностью фильтрации таблиц и данных.
  • ACF to REST API — расширяет REST API WordPress, чтобы вернуть данные полей ACF, что полезно для интеграции и миграции.
  • WP Migrate DB Pro — популярный плагин для миграции баз данных с поддержкой сериализованных данных, отлично подходит для проектов с ACF.

Использование этих инструментов ускоряет перенос и синхронизацию полей, особенно при регулярных обновлениях.

Интеграция с WPShop для удобного контроля

Если вы используете темы и плагины из WPShop, например темы Reboot или Root, можно дополнительно настроить автоматическую синхронизацию JSON файлов ACF при обновлении темы или плагина, чтобы сохранить все поля в актуальном состоянии.

Кроме того, плагин Clearfy Pro от WPShop поможет оптимизировать работу сайта и избежать конфликтов при синхронизации, отключая ненужные функции.

Рекомендации по безопасности и тестированию

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

Ограничивайте доступ к JSON файлам и API, используйте nonce и права доступа WordPress для защиты от несанкционированного импорта.

Также рекомендуем проверять версии ACF на всех сайтах, чтобы избежать несовместимости форматов.

Итоговые советы по эффективной синхронизации ACF

  • Используйте встроенный JSON-экспорт ACF с папкой acf-json в вашей теме.
  • Автоматизируйте процессы через WP-CLI или собственные скрипты.
  • Подключайте специализированные плагины для миграции базы данных.
  • Обязательно тестируйте и делайте бэкапы.
  • Используйте инструменты из WPShop для улучшения производительности и безопасности.
Как отключить автоматические обновления WordPress и плагинов
15.04.2026
Как удалить заблокированные аккаунты WordPress: практическое руководство
10.04.2026
Как синхронизировать задачи с помощью WP-Cron в WordPress
23.12.2025
Как запретить загрузку внешних iframe в WordPress для безопасности сайта
03.05.2026
Как создать собственный плагин для синхронизации данных WordPress
07.11.2025