Перед тем как инвестировать время в миграцию, убедитесь, что изменение того стоит. Причины для миграции с ACF или SCF в Field Forge:
Если ни одно из этих условий не относится к вашей ситуации, оставайтесь на ACF или SCF. Миграция имеет свою цену (время, тестирование, риск), и вы должны мигрировать только в том случае, если преимущества перевешивают эти затраты.
Перед миграцией убедитесь, что ваш код, специфичный для ACF, не столкнется с крайними случаями в совместимом слое Field Forge.
Что работает из коробки:
get_field(), the_field(), get_fields(), get_field_object(), get_field_objects()update_field(), delete_field()have_rows(), the_row(), get_row(), get_row_index(), get_row_layout()get_sub_field(), the_sub_field(), update_sub_field()acf_register_block_type() (PHP блоки Gutenberg)get_field('name', 'options') и get_field('name', 'option') (страницы опций)get_field('name', 'user_123') (пользовательские поля)format_value параметр во всех функцияхЧто требует корректировки:
acf/load_field, acf/save_post, acf/format_value/type=text — у них есть эквиваленты в Field Forge (fieldforge/load_field и т.д.), которые ваш код должен будет обновить. Совместимый слой Field Forge не перенаправляет хуки ACF в свою собственную систему хуков.ACFAdminAdminFields) — их нет в Field Forgeacf.addAction() и т.д.) — у Field Forge есть свой собственный JS APIДля 95% сайтов ничего из вышеперечисленного не имеет значения. Темы обычно используют только функции шаблона, а не внутренние API.
Как проверить свой код:
Запустите grep по файлам вашей темы и пользовательских плагинов:
«`bash
grep -r «get_field|have_rows|the_sub_field|acf_register_block_type» wp-content/themes/your-theme/
grep -r «add_action.‘acf/|add_filter.‘acf/» wp-content/themes/your-theme/
grep -r «\\ACF\\|use ACF» wp-content/themes/your-theme/ «`
Если первый grep возвращает результаты, а последние два пусты, вы в порядке — прямая миграция работает. Если второй или третий возвращают результаты, планируйте дополнительные обновления кода после миграции.
Всегда делайте резервную копию перед миграцией. Это не подлежит обсуждению.
С помощью инструмента вашего хостинга: Большинство управляемых хостингов WordPress (Kinsta, WP Engine, SiteGround, Cloudways и т.д.) имеют резервное копирование базы данных в один клик. Используйте его.
С помощью WP-CLI: «bash wp db export backup-before-fieldforge-$(date +%Y%m%d).sql «
Это создаст SQL дамп вашей всей базы данных. Храните его в безопасном месте (скачайте на локальный компьютер, загрузите в S3 и т.д.). Если миграция пойдет не так, вы сможете восстановить данные из этого дампа.
С помощью плагина: UpdraftPlus, BackupBuddy, BackWPup или аналогичные. Выполните полное резервное копирование — базы данных И Файлов — перед продолжением.
Также сделайте резервную копию всей директории wp-content/. Если вы используете функцию Local JSON от ACF, JSON файлы находятся в wp-content/themes/your-theme/acf-json/.
Если возможно, выполните миграцию сначала в стадии. Клонируйте ваш производственный сайт на стадию, выполните миграцию, проверьте, что все работает, а затем повторите на производственном сайте. Большинство управляемых хостингов предлагают клонирование стадии в один клик.
Если у вас нет стадии, выполните миграцию в часы низкой нагрузки.
Перейдите на цены Field Forge и купите лицензию. Вы получите ссылку для скачивания ZIP файла плагина Field Forge.
Или установите бесплатную версию с WordPress.org:
Примечание: бесплатная версия охватывает основные функции миграции. Платные планы открывают генерацию ИИ, TypeScript, GraphQL и некоторые расширенные типы полей.
Field Forge теперь появляется в меню админки WordPress. ACF (или SCF) все еще активен — вы деактивируете его позже.
Если вы приобрели платный план, активируйте лицензию:
Вы получите подтверждение, что лицензия действительна.
Совместимый слой ACF Field Forge умный в работе рядом с ACF. Когда оба плагина активны:
get_field() и т.д.)Это означает, что во время миграции нет конфликта. Вы можете работать в экранах администрирования обоих плагинов одновременно.
Экран конфигурации импорта предлагает несколько опций:
Начните с параметров по умолчанию. Если миграция вызывает ошибки, скорректируйте параметры и повторите.
Нажмите Начать импорт. Появится индикатор прогресса, показывающий:
Импорт выполняется партиями по 50 постов на AJAX запрос. Пакетирование предотвращает тайм-ауты PHP на больших сайтах и обеспечивает видимый прогресс.
Во время импорта не закрывайте вкладку браузера. Если вы случайно закроете ее, импорт приостановится; снова откройте страницу импорта и нажмите Возобновить импорт.
После завершения импорта Field Forge выполняет автоматические проверки:
Вы увидите зеленую галочку рядом с каждым шагом проверки или желтое/красное предупреждение, если что-то требует внимания.
Не полагайтесь только на автоматические проверки. Проверьте важные страницы:
1. Проверьте типичный пост с пользовательскими полями
Перейдите в админку WordPress → Посты → выберите пост, который использует пользовательские поля → прокрутите до метабокса Field Forge → проверьте, что значения полей совпадают с тем, что в метабоксе ACF выше.
2. Проверьте страницу с гибким содержимым
Если вы используете поля гибкого содержимого, проверьте страницу с несколькими макетами. Все макеты должны отображаться в метабоксе Field Forge с правильными значениями полей.
3. Проверьте страницу с повторителями
Если вы используете повторяющиеся поля, убедитесь, что все строки присутствуют с правильными значениями подполей.
4. Проверьте страницы опций
Перейдите на любую страницу опций (Настройки сайта, Настройки заголовка и т.д.) — значения должны отображаться как в представлении страницы опций ACF, так и в версии Field Forge.
5. Проверьте фронтенд
Загрузите главную страницу и несколько ключевых страниц в браузере. ACF все еще активен на этом этапе, поэтому рендеринг фронтенда все еще происходит из ACF. Подтвердите, что ничего не сломалось во время процесса миграции.
Если какая-либо проверка не удалась:
Это момент истины. Деактивация ACF активирует совместимый слой Field Forge — все вызовы get_field() из вашей темы теперь будут разрешаться в хранилище Field Forge вместо ACF.
Админка WordPress → Плагины → Установленные плагины → Advanced Custom Fields → Деактивировать
Не нажимайте «Удалить» пока — мы хотим, чтобы ACF оставался доступным в качестве резервного варианта, если что-то пойдет не так.
В момент деактивации ACF:
get_field и т.д.) перестают регистрироваться ACFНемедленно перезагрузите фронтенд:
acf_register_block_type()) — рендерится ли он?Если все выглядит правильно, миграция успешна. Празднуйте.
Если что-то сломано, перейдите к Части 8 (Устранение неполадок) ниже.
Подождите 1 неделю с активным Field Forge перед полным удалением ACF. Это даст вам время, чтобы обнаружить любые крайние случаи, которые не были пойманы в немедленной проверке. Если возникнут проблемы, повторно активируйте ACF в качестве резервного варианта, пока вы отлаживаете.
После 1 недели стабильной работы:
После миграции данные ACF все еще находятся в wp_postmeta (миграция Field Forge не разрушительна — она копирует данные, не удаляя из источника). Эти дополнительные данные занимают место, но не причиняют вреда.
Если вы хотите очистить:
«sql DELETE FROM wp_postmeta WHERE meta_key LIKE '_%' AND meta_key IN ( SELECT DISTINCT meta_key FROM wp_postmeta WHERE meta_key LIKE '_%' ); «
ПРЕДУПРЕЖДЕНИЕ: Этот SQL является приблизительным и опасным. Запускайте его только если вы уверены в своих навыках работы с базами данных И имеете недавнюю резервную копию. Поддержка Field Forge может помочь с более безопасным запросом очистки, адаптированным к вашим конкретным группам полей.
Большинство сайтов не беспокоятся об этой очистке — дополнительное хранилище незначительно.
Теперь, когда вы полностью на Field Forge, воспользуйтесь его функциями:
Симптом: Пост, который имел пользовательские значения полей в ACF, кажется пустым в Field Forge после деактивации ACF.
Причина: Значение поля не мигрировало во время импорта. Это может произойти, если:
Исправление:
Симптом: Шаблон, который раньше рендерился правильно, теперь вызывает ошибку PHP или показывает неожиданный контент.
Причина: Шаблон использует специфическую для ACF функцию или хук, который не охватывается совместимым слоем Field Forge.
Исправление:
Наиболее распространенные виновники:
acf_add_local_field_group() — используйте fieldforge_register_field_group() вместо этогоacf_form() — используйте Form Forge или другой конструктор формacf/include_field_types — повторно зарегистрируйте через фильтр fieldforge/field_types/registerСимптом: Страницы загружаются медленнее после перехода на Field Forge.
Причина: Редко, но возможно. Пользовательское хранилище таблиц Field Forge должно быть быстрее, а не медленнее. Если вы видите более медленную производительность:
WP_DEBUG в WordPress с большим файлом журналаИсправление:
WP_DEBUG и WP_DEBUG_LOG в производственной средеСимптом: Значения страниц опций кажутся пустыми или по умолчанию после миграции.
Причина: ACF хранит значения страниц опций с другим префиксом ключа, чем значения полей постов. Импортер должен обрабатывать оба случая.
Исправление:
Симптом: Повторяющиеся поля мигрировали, но строки отображаются в другом порядке, чем были в ACF.
Причина: Редкое состояние гонки во время импорта, когда row_index не был правильно установлен.
Исправление: Свяжитесь с поддержкой с конкретным именем группы полей. Это обычно одноразовое исправление с помощью SQL обновления.
Если миграция пошла не так, и вам нужно вернуться к ACF:
Миграция Field Forge не разрушительна — данные ACF все еще на месте. Откат всегда возможен, пока вы не удалили ACF.
Если вы хотите полностью отменить миграцию и удалить Field Forge:
Сколько времени занимает типичная миграция ACF? 30–90 минут для большинства сайтов. Более крупные сайты (10,000+ постов) могут занять 2+ часа.
Упадут ли мои рейтинги во время миграции? Нет. Миграция не изменяет URL, контент или метаданные, которые видит Google. Field Forge мигрирует только слой хранения.
Могу ли я запускать ACF и Field Forge бесконечно? Технически да во время миграции, но не как долгосрочную производственную настройку. Запуск обоих означает дублирование интерфейсов администрирования и путаницу в конфигурации.
Что насчет функций ACF Pro, таких как Повторитель и Гибкое Содержимое? Платные планы Field Forge включают все функции ACF Pro. Повторитель, Гибкое Содержимое, Группа, Клонирование, Страницы Опций, Галерея, PHP Блоки — все работает после миграции.
Нужно ли переписывать код моей темы? Нет. Совместимый слой ACF Field Forge означает, что существующий код продолжает работать.
Что если у меня есть пользовательские типы полей ACF от сторонних плагинов? Пользовательские типы полей, зарегистрированные через систему хуков ACF, нужно будет повторно зарегистрировать для Field Forge. Свяжитесь с поддержкой для помощи с конкретными случаями.
Могу ли я позже мигрировать обратно с Field Forge в ACF? Да. Экспорт данных Field Forge позволяет вам экспортировать группы полей в формате, совместимом с ACF. Импортируйте в ACF, деактивируйте Field Forge. Ваш сайт продолжит работать.
Миграция бесплатна? Бесплатная версия Field Forge на WordPress.org включает инструменты миграции. Вам нужна только платная лицензия для функций ИИ, генерации TypeScript/GraphQL и некоторых расширенных типов полей.
Работает ли миграция и для SCF? Да. SCF является форком ACF с тем же форматом данных. Импортер ACF обрабатывает оба.
Получите Field Forge — от $35/год →
14-дневный возврат. Бесплатная версия включает инструменты миграции. Приоритетная поддержка во время миграции.
Вопросы перед началом? Свяжитесь с нашей командой поддержки миграции →