Цей рецепт надає детальний, обережний процес міграції з контрольними списками та етапами перевірки. Дотримуйтесь його, щоб забезпечити плавний перехід.
Контрольний список перед міграцією
Перед тим, як почати, виконайте кожен пункт цього списку:
| Крок | Дія | Виконано? |
|---|---|---|
| 1 | Створіть повну резервну копію сайту (файли + база даних) | |
| 2 | Налаштуйте тестовий/стадійний сайт і спочатку виконайте міграцію там | |
| 3 | Документуйте ваші поточні групи полів ACF (скріншот або експорт) | |
| 4 | Зверніть увагу на будь-які групи полів, зареєстровані PHP у файлі вашої теми functions.php | |
| 5 | Перевірте наявність плагінів, які залежать від ACF (деякі плагіни включають свої власні поля ACF) | |
| 6 | Встановіть Field Forge на вашому тестовому сайті (поки що не деактивуйте ACF) | |
| 7 | Якщо мігруєте значення полів, активуйте ліцензію Field Forge PRO | |
| 8 | Перевірте, що ваш ліміт пам’яті PHP становить принаймні 256M, а max_execution_time – принаймні 300 |
Крок 1: Виявлення даних ACF
- Перейдіть до Field Forge > Migration
- Натисніть Detect ACF Data
- Перегляньте результати сканування:
– Кількість постів з даними ACF
– Загальна кількість значень полів для міграції
- Зробіть скріншот або запишіть ці числа — ви використаєте їх для перевірки повноти міграції пізніше
Крок 2: Імпортуйте групи полів
- Натисніть Імпортувати групи полів
- Зачекайте, поки імпорт завершиться
- Перевірте результати:
– Відкрийте 2-3 групи полів і перевірте, що всі поля, налаштування та правила розташування відповідають вашій конфігурації ACF
– Зверніть особливу увагу на складні поля: Повторювачі, Гнучкий контент та Групи повинні мати всі свої підполя недоторканими
- Якщо щось виглядає неправильно, ви можете видалити імпортовані групи та повторно запустити імпорт — він читає з даних ACF, які не змінилися
Крок 3: Міграція значень полів (PRO)
- Поверніться на Field Forge > Migration, натисніть Import Field Groups with Values
- З’являється індикатор прогресу, що показує обробку партій
- Для великих сайтів міграція виконується у фоновому режимі — ви можете безпечно закрити вкладку браузера
- Дочекайтеся повідомлення про завершення (перевірте, якщо ви закрили вкладку)
- Зверніть увагу на остаточну кількість: кількість оброблених постів та мігрованих значень
Крок 4: Перевірка після міграції
Виконайте ці перевірки перед деактивацією ACF:
| Перевірка | Як перевірити | Очікуваний результат |
|---|---|---|
| Групи полів існують | Field Forge > Field Groups | Така ж кількість груп, як в ACF |
| Поля з’являються на постах | Відредагуйте пост, який містив дані ACF | Метабокс з полями з’являється під редактором |
| Дані заповнені | Перевірте поля на кількох постах | Значення відповідають введеним в ACF |
| Дані повторювача цілі | Відкрийте пост з повторювачем | Всі рядки присутні з правильними даними |
| Гнучкий контент цілісний | Відкрийте пост з гнучким контентом | Всі макети присутні в правильному порядку |
| Дані сторінки опцій | Відвідайте сторінку опцій | Всі глобальні значення присутні |
| Відображення на фронтенді | Перегляньте сайт у браузері | Сторінки виглядають ідентично до міграції |
get_field() працює | Тестуйте сторінки, які використовують дані полів | Немає помилок, відображаються правильні значення |
have_rows() працює | Тестуйте сторінки з повторювачами | Цикли працюють правильно |
Крок 5: Деактивувати ACF
- Після проходження всіх перевірок перейдіть до Plugins
- Деактивуйте Advanced Custom Fields PRO
- Оновіть фронтенд і перевірте кілька сторінок — все повинно продовжувати працювати, оскільки Field Forge надає всі ті ж функції
- Перевірте адміністративну панель — всі групи полів повинні залишатися видимими та функціональними
Крок 6: Перевірити, чи все працює без ACF
- Протестуйте кожен шаблон сторінки, який використовує користувацькі поля
- Протестуйте кожну форму, повторювач і секцію гнучкого контенту
- Перевірте сторінки параметрів і налаштування для всього сайту
- Протестуйте на кількох пристроях (настільний комп’ютер, планшет, мобільний)
- Попросіть іншого члена команди перевірити ключові сторінки
Загальні проблеми та їх вирішення
| Проблема | Причина | Виправлення |
|---|---|---|
| Фатальна помилка після деактивації ACF | Плагін залежить від ACF безпосередньо (не через get_field()) | Реактивуйте ACF, визначте залежний плагін і зв’яжіться з його автором для сумісності з Field Forge |
| Деякі поля показують порожні значення | Значення полів не були мігровані (безкоштовна версія) | Оновіть до PRO і запустіть міграцію значень |
| Рядки повторювача в неправильному порядку | Рідкісний крайній випадок з глибоко вкладеними даними | Повторно запустіть міграцію; якщо проблема зберігається, зверніться до служби підтримки |
| Вкладені рядки повторювача всередині Гнучкого контенту дублюються після перетягування та збереження | Старі версії повторно індексували батьківський рядок Гнучкого контенту під час сортування вкладеного повторювача, а потім читали вкладені записи з неправильного батьківського запису | Оновіть Field Forge, виконайте жорстке оновлення редактора, один раз перерозподіліть вкладені рядки та збережіть. Поточні версії повторно індексують лише активний повторювач і читають вкладені записи за їх безпосереднім ID батька. |
| Значення вкладених Груп / Повторювачів / Гнучкого контенту відсутні | Старі бази даних ACF можуть містити дублікати постів групи полів з однаковим ключем/назвою; порожній дублікат може приховати заповнену групу під час імпорту | Оновіть Field Forge і повторно запустіть міграцію. Поточні версії усувають дублікати груп ACF за ключем/назвою та зберігають версію з найбільшою кількістю безпосередніх дочірніх полів перед імпортом значень. |
| Умовна логіка не приховує поля | Правила верхнього рівня: підтвердіть, що “Умовна логіка” увімкнена в налаштуваннях поля, тригерне поле правила має значення, а пара оператор/значення відповідає вашим даним. Вкладені правила (всередині повторювача / групи / гнучких макетів) зберігаються, але ще не оцінюються. | Знову відкрийте редактор групи полів, розгорніть відповідне поле та перевірте, що правило читає правильну назву поля. Для вкладених випадків перемістіть правило до поля верхнього рівня, яке контролює видимість батьківського складного елемента. |
| Сторінка параметрів відсутня | Сторінки параметрів вимагають PRO | Активуйте ліцензію PRO, а потім повторно запустіть міграцію |
| Макет на фронтенді зламаний | Тема залежить від специфічних хуків ACF | Перевірте, чи використовує тема хуки acf/ і переключіться на еквіваленти fieldforge/ |
| JSON файли експорту, що посилаються на ключі ACF | Старі локальні JSON файли з ACF | Видаліть старі файли acf-json/ у вашій темі та збережіть групи полів, щоб Field Forge згенерував нові файли в fieldforge-json/ (папка синхронізації за замовчуванням) |