Field Forge против CMB2 — Визуальный конструктор против кодового подхода | Field Forge - Произвольные поля, созданные для скорости
Скачать Войти
Сравнение

Field Forge против CMB2 — Визуальный конструктор против кодового подхода

Попробовать Field Forge бесплатно Все сравнения
Возможность 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 сильна

Философия кодового подхода

Основной интерфейс 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

Поскольку поля определяются в коде, разработчик может настроить полную систему пользовательских полей, не открывая админку WordPress. Для рабочих процессов с интенсивным использованием CLI или программной настройки сайта это является преимуществом.


Где Field Forge побеждает

Визуальный конструктор для неразработчиков

Самое большое ограничение CMB2 в том, что у него нет визуального конструктора. Каждое поле должно быть определено в PHP коде. Для команд, которые включают:

  • Редакторов контента, которые хотят добавлять поля без помощи разработчика
  • Дизайнеров, которым нужно быстро изменять структуры групп полей
  • Менеджеров проектов, которым нужно настраивать простые типы контента
  • Клиентов агентств, которые хотят поддерживать свой собственный сайт без необходимости нанимать разработчика каждый раз

…CMB2 не подходит.

Field Forge предлагает оба варианта: современный визуальный конструктор для неразработчиков и кодовый API для разработчиков, которые предпочитают программную настройку. Вам не нужно выбирать.

Генерация схемы AI

Field Forge — единственный плагин для пользовательских полей WordPress с генерацией групп полей на основе AI. У CMB2 нет функций AI. Для команд, которые регулярно создают новые группы полей, генерация AI экономит значительное время.

Функция генерации схемы AI →

Хранение в пользовательских таблицах

CMB2 использует wp_postmeta для хранения значений полей, унаследовав ту же проблему N+1 запросов, которая затрагивает ACF и Meta Box. Field Forge использует пользовательскую индексированную таблицу, которая работает в 3–10 раз быстрее на сайтах с большим количеством постов или сложными повторителями.

Для разработчика, строящего сайт, который ожидает вырасти до 10,000+ постов, это реальная архитектурная проблема. Подход CMB2 с wp_postmeta столкнется с проблемами производительности, которые потребуют обходных путей с кэшированием. Подход Field Forge с пользовательскими таблицами масштабируется линейно.

Функция хранения в пользовательских таблицах →

Совместимость с ACF

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, работает без изменений.

TypeScript и GraphQL для headless

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', ], ], ], ]); }); «

Синхронизация локального JSON для рабочего процесса git

Для разработчиков, которые хотят версионирование git без регистрации PHP, функция локальной синхронизации JSON Field Forge сохраняет группы полей как JSON файлы в теме. Коммит в git, как и PHP файлы CMB2, но с возможностью визуального редактирования.

Функция локальной синхронизации JSON →


Миграция с CMB2

Field Forge может импортировать определения полей CMB2:

  1. Сканировать файлы темы/плагина на наличие обратных вызовов хуков CMB2
  2. Парсить вызовы new_cmb2_box() и add_field()
  3. Конвертировать в определения групп полей Field Forge
  4. Сохранить как визуальные группы полей (доступные через админку) или регистрации кода (оставить в PHP)
  5. Мигрировать существующие значения полей из wp_postmeta в пользовательскую таблицу Field Forge

Автоматический парсер обрабатывает стандартные шаблоны кода CMB2. Для необычных пользовательских конфигураций полей или сложной условной логики может потребоваться ручной обзор. Наша команда поддержки может помочь с крайними случаями.


Когда CMB2 — правильный выбор

  • Вы одиночный разработчик, которому никогда не нужно, чтобы члены команды, не являющиеся разработчиками, касались конфигурации полей
  • Бесплатно — это жесткое ограничение, и вы готовы принять отсутствие платной поддержки
  • Вам никогда не нужен визуальный конструктор и вы предпочитаете 100% кодовые рабочие процессы
  • Вы создаете очень маленький сайт (<500 постов), где производительность не является проблемой
  • Вы явно хотите избежать коммерческих плагинов WordPress по философским причинам

Для всего остального — особенно для команд с смешанными членами разработчиков/неразработчиков, производительных сайтов, 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 для разработчиков.

FAQ

Часто задаваемые вопросы

Нет. 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 для того же кодового опыта.

Готовы перейти на Field Forge?

Every feature included. Every plan. Starting at $35/yr.

ИИ-ассистент Forge Онлайн

Привет! Я ИИ-ассистент Field Forge. Спрашивайте меня о чём угодно по плагину — настройка, возможности, устранение неполадок или разработка.

Только что
На базе Forge AI · Просмотр документации