| Возможность | Field Forge from $35/yr | Competitor |
|---|---|---|
| Регистрация полей | ✗ | ✗ |
| Визуальный конструктор | ✓ | ✗ |
| Дружественность к неразработчикам | ✓ | ✗ |
| Генерация схемы AI | ✓ | ✗ |
| Хранение в пользовательских таблицах | ✓ | ✗ |
| Производительность на больших сайтах | ✗ | ✗ |
| Совместимость с ACF | ✓ | ✗ |
| Генерация TypeScript | ✓ | ✗ |
| Генерация GraphQL | ✓ | ✗ |
| Версионирование схемы | ✓ | ✗ |
| Коммерческая поддержка | ✓ | ✗ |
| Типы полей | ✗ | ✗ |
| Field Forge | CMB2 | |
|---|---|---|
| Цена | $35/год (Личное) до $169/год (Агентство) | Бесплатно |
| Регистрация полей | Визуальный конструктор + кодовый API | Только код (PHP файлы) |
| Визуальный конструктор | Да (современный) | Нет |
| Дружественность к неразработчикам | Да | Нет (требуются навыки PHP) |
| Генерация схемы AI | Да | Нет |
| Хранение в пользовательских таблицах | Да | Нет (wp_postmeta) |
| Производительность на больших сайтах | 3–10x быстрее | Такая же, как у ACF (wp_postmeta) |
| Совместимость с ACF | Да (совместимый слой) | Нет |
| Генерация TypeScript | Да | Нет |
| Генерация GraphQL | Да | Нет |
| Версионирование схемы | Да | Нет (используйте git для кодовых файлов) |
| Коммерческая поддержка | Да | Нет (только сообщество) |
| Типы полей | 32 | ~25 |
Основной интерфейс CMB2 — это PHP код. Поля определяются через функции обратного вызова, зарегистрированные на хуке cmb2_admin_init:
«`php add_action(‘cmb2_admin_init’, function() { $cmb = new_cmb2_box([ ‘id’ => ‘hero_section’, ‘title’ => ‘Герой Раздел’, ‘object_types’ => [‘page’], ]);
$cmb->add_field([ ‘name’ => ‘Заголовок Героя’, ‘id’ => ‘hero_title’, ‘type’ => ‘text’, ]);
$cmb->add_field([ ‘name’ => ‘Изображение Героя’, ‘id’ => ‘hero_image’, ‘type’ => ‘file’, ]); }); «`
Для разработчиков, которые контролируют версии всего и никогда не касаются админки WordPress для настройки, этот рабочий процесс идеален. Определения полей находятся в файлах темы/плагина, коммитятся в git, развертываются через CI/CD, никаких головных болей с миграцией базы данных.
CMB2 имеет лицензию GPL, бесплатна навсегда и поддерживается небольшой командой участников. Для проектов с ограниченным бюджетом, вы не найдете ничего лучше бесплатного.
Кодовая база CMB2 небольшая. Нет админского интерфейса для рендеринга, нет тяжелой опционной структуры. Минимальное влияние на загрузку страниц и производительность админки.
Поскольку поля определяются в коде, разработчик может настроить полную систему пользовательских полей, не открывая админку WordPress. Для рабочих процессов с интенсивным использованием CLI или программной настройки сайта это является преимуществом.
Самое большое ограничение CMB2 в том, что у него нет визуального конструктора. Каждое поле должно быть определено в PHP коде. Для команд, которые включают:
…CMB2 не подходит.
Field Forge предлагает оба варианта: современный визуальный конструктор для неразработчиков и кодовый API для разработчиков, которые предпочитают программную настройку. Вам не нужно выбирать.
Field Forge — единственный плагин для пользовательских полей WordPress с генерацией групп полей на основе AI. У CMB2 нет функций AI. Для команд, которые регулярно создают новые группы полей, генерация AI экономит значительное время.
CMB2 использует wp_postmeta для хранения значений полей, унаследовав ту же проблему N+1 запросов, которая затрагивает ACF и Meta Box. Field Forge использует пользовательскую индексированную таблицу, которая работает в 3–10 раз быстрее на сайтах с большим количеством постов или сложными повторителями.
Для разработчика, строящего сайт, который ожидает вырасти до 10,000+ постов, это реальная архитектурная проблема. Подход CMB2 с wp_postmeta столкнется с проблемами производительности, которые потребуют обходных путей с кэшированием. Подход Field Forge с пользовательскими таблицами масштабируется линейно.
Функция хранения в пользовательских таблицах →
CMB2 имеет свой собственный API — get_post_meta($post_id, 'field_name', true) — который является нативным для WordPress, но не имеет более богатого форматирования и разрешения реляционных полей, как у ACF. Миграция с ACF на CMB2 требует переписывания каждой ссылки на шаблон.
Field Forge поддерживает как API в стиле ACF (get_field(), have_rows() и т.д.) через совместимый слой и нативный WordPress get_post_meta(). Код, написанный для ACF или SCF, работает без изменений.
CMB2 имеет минимальную поддержку headless WordPress. Значения полей хранятся в wp_postmeta и доступны через REST API WordPress, но нет генерации TypeScript, нет схемы GraphQL и нет интеграции WPGraphQL (за пределами того, что предоставляет ядро WordPress).
Field Forge автоматически генерирует определения TypeScript и GraphQL для каждой группы полей. Для команд headless WordPress это значительное преимущество в производительности.
Генерация TypeScript → · Генерация GraphQL →
CMB2 поддерживается сообществом через проблемы на GitHub. Для бесплатного открытого кода это стандарт. Но для команд, которым нужны гарантированные сроки ответа, устранение неполадок на производственном сайте и приоритетные исправления ошибок, поддержка сообщества недостаточна.
Field Forge предоставляет приоритетную поддержку по электронной почте (ответ в течение 1 рабочего дня) на каждом платном плане.
Field Forge отслеживает изменения групп полей как ревизии на уровне базы данных с возможностью отката в один клик. CMB2 полагается на историю git для версионирования (поскольку определения полей находятся в кодовых файлах). Оба варианта работают, но подход Field Forge также захватывает изменения, управляемые админским интерфейсом, и предоставляет визуальное сравнение различий.
Для пользователей CMB2, мигрирующих в кодовый режим Field Forge, git по-прежнему работает. Для команд, которые хотят историю на уровне базы данных поверх git, Field Forge добавляет этот уровень.
Field Forge на самом деле предлагает лучшее из обоих миров для разработчиков CMB2:
Редакторы контента и менеджеры проектов могут создавать и редактировать простые группы полей в визуальном конструкторе Field Forge, не касаясь кода.
Разработчики могут регистрировать группы полей через fieldforge_register_field_group() в PHP — та же философия, что и у CMB2, но другой API:
«php add_action('fieldforge/init', function() { fieldforge_register_field_group([ 'key' => 'hero-section', 'title' => 'Герой Раздел', 'fields' => [ [ 'key' => 'hero_title', 'label' => 'Заголовок Героя', 'type' => 'text', ], [ 'key' => 'hero_image', 'label' => 'Изображение Героя', 'type' => 'image', ], ], 'location' => [ [ [ 'param' => 'post_type', 'operator' => '==', 'value' => 'page', ], ], ], ]); }); «
Для разработчиков, которые хотят версионирование git без регистрации PHP, функция локальной синхронизации JSON Field Forge сохраняет группы полей как JSON файлы в теме. Коммит в git, как и PHP файлы CMB2, но с возможностью визуального редактирования.
Функция локальной синхронизации JSON →
Field Forge может импортировать определения полей CMB2:
new_cmb2_box() и add_field()wp_postmeta в пользовательскую таблицу Field ForgeАвтоматический парсер обрабатывает стандартные шаблоны кода CMB2. Для необычных пользовательских конфигураций полей или сложной условной логики может потребоваться ручной обзор. Наша команда поддержки может помочь с крайними случаями.
Для всего остального — особенно для команд с смешанными членами разработчиков/неразработчиков, производительных сайтов, headless WordPress или для тех, кто хочет платную поддержку — Field Forge является более подходящим вариантом.
CMB2 быстрее, чем Field Forge? Нет. CMB2 использует хранилище wp_postmeta, которое имеет те же проблемы производительности N+1 запросов, что и ACF. Пользовательское хранилище таблиц Field Forge быстрее на любом сайте с более чем 500 постами или сложными повторителями.
Могу ли я продолжать использовать стиль кодового подхода CMB2 в Field Forge? Да. Field Forge имеет свою собственную функцию fieldforge_register_field_group() для программной регистрации полей. Плюс локальная синхронизация JSON позволяет вам коммитить определения групп полей в git как JSON файлы.
Поддерживает ли Field Forge все, что делает CMB2? Field Forge имеет 32 основных типа полей; CMB2 имеет ~25. Все общие типы полей охвачены. Для нишевых типов CMB2, которых нет в Field Forge, API пользовательских типов полей позволяет вам добавлять их.
Автоматична ли миграция с CMB2? Импортер CMB2 Field Forge автоматически обрабатывает стандартные шаблоны кода. Для необычных пользовательских конфигураций полей может потребоваться ручной обзор.
Что насчет рабочих процессов на основе git? Локальная синхронизация JSON Field Forge сохраняет группы полей как JSON файлы в вашей теме — коммит в git, как и PHP файлы CMB2. В качестве альтернативы, зарегистрируйте поля через fieldforge_register_field_group() в PHP для того же кодового опыта.
Получите Field Forge — от $35/год →
14-дневный возврат. Импортер CMB2 включен. Визуальный конструктор для неразработчиков, кодовый API для разработчиков.
Нет. CMB2 использует хранилище wp_postmeta, которое имеет те же проблемы производительности N+1 запросов, что и ACF. Пользовательское хранилище таблиц Field Forge быстрее на любом сайте с >500 постами или сложными повторителями.
Да. Field Forge имеет свою собственную функцию fieldforge_register_field_group() для программной регистрации полей. Плюс локальная синхронизация JSON позволяет вам коммитить определения групп полей в git как JSON файлы.
Field Forge имеет 32 основных типа полей; CMB2 имеет ~25. Все общие типы полей охвачены. Для нишевых типов CMB2, которых нет в Field Forge, API пользовательских типов полей позволяет вам добавлять их.
Импортер CMB2 Field Forge автоматически обрабатывает стандартные шаблоны кода. Для необычных пользовательских конфигураций полей может потребоваться ручной обзор.
Локальная синхронизация JSON Field Forge сохраняет группы полей как JSON файлы в вашей теме — коммит в git, как и PHP файлы CMB2. В качестве альтернативы, зарегистрируйте поля через fieldforge_register_field_group() в PHP для того же кодового опыта.
Every feature included. Every plan. Starting at $35/yr.