Field Forge может импортировать группы полей и значения из установок ACF Pro. Миграция безопасна и неразрушающая.
Источники обнаружения
- База данных:
acf-field-groupиacf-fieldтипы записей. - Локальный PHP: Группы, зарегистрированные через
acf_add_local_field_group(). - PostMeta: Ключи ссылок ACF в
wp_postmeta.
php
$importer = FIELDFORGE_ACF_Import::instance();
$detection = $importer->detect();
// Returns: ['found' => true, 'groups' => 5, 'fields' => 47, 'posts_with_values' => 123, 'source' => 'database']Импорт группы
php
$result = $importer->import_groups();
// Returns: ['migrated' => 5, 'errors' => 0, 'log' => [...]]Перед импортом групп, хранящихся в базе данных, Field Forge удаляет дубликаты записей группы ACF по ключу/названию и сохраняет запись с наибольшим количеством прямых дочерних записей acf-field. Это защищает миграции от старых баз данных ACF, где существует пустая дублирующая группа рядом с заполненной группой и в противном случае скрыла бы вложенные дочерние элементы Repeater, Group или Flexible Content.
Миграция значений (PRO)
Значения мигрируются партиями по 50 записей за раз.
php
$offset = 0;
do {
$result = $importer->import_values_batch( $offset );
$offset = $result['total_offset'];
} while ( ! $result['done'] );
echo 'Migration complete. ' . $result['migrated'] . ' values migrated.';Сопоставление типов полей
| Тип ACF | Тип Field Forge | Примечания |
|---|---|---|
text | text | Прямое сопоставление |
textarea | textarea | Сохраняет new_lines |
number | number | Сохраняет min/max/step |
image | image | Сохраняет return_format |
file | file | Сохраняет return_format |
wysiwyg | wysiwyg | Сохраняет настройки панели инструментов |
select | select | Сохраняет выборы |
repeater | repeater | Рекурсивный импорт подполей |
group | group | Рекурсивный импорт подполей |
flexible_content | flexible_content | Макеты и подполе |
link | url | Пониженный (ссылка ACF имеет заголовок+цель) |
google_map | text | Пониженный (нет типа карты) |
date_time_picker | date_picker | Часть времени удалена |
—