| Функція | 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 підтримує як ACF-стиль API (get_field(), have_rows() тощо) через сумісний шар та рідний WordPress get_post_meta(). Код, написаний для ACF або SCF, працює без змін.
CMB2 має мінімальну підтримку безголової версії WordPress. Значення полів зберігаються в wp_postmeta і відкриваються на REST API WordPress, але немає генерації TypeScript, немає схеми GraphQL і немає інтеграції WPGraphQL (поза тим, що надає ядро WordPress).
Field Forge автоматично генерує визначення TypeScript і GraphQL для кожної групи полів. Для команд безголової версії 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. Для незвичайних конфігурацій кастомних полів або складної умовної логіки може знадобитися ручний перегляд. Наша команда підтримки може допомогти з крайніми випадками.
Для всього іншого — особливо для команд з змішаними розробниками/не-розробниками, сайтів, чутливих до продуктивності, безголової версії 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.