Перед тим, як інвестувати час у міграцію, переконайтеся, що зміна того варта. Причини для міграції з 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() (Gutenberg PHP blocks)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 з великим файлом журналуВиправлення:
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-денний повернення. Безкоштовна версія включає інструменти міграції. Пріоритетна підтримка під час міграції.
Питання перед початком? Зв’яжіться з нашою командою підтримки міграції →