Что умеет
CMB2 — это инструмент разработчика, а не готовый «конструктор полей». Вы описываете метабоксы и поля в коде, а библиотека рисует форму, сохраняет значения и проверяет данные. Подходит для записей и страниц, терминов таксономий, профилей пользователей, комментариев и отдельных страниц настроек сайта.
Особенности:
- несколько встроенных типов полей и возможность добавить свои через хук;
- повторяемые поля и группы полей;
- формы для фронтенда, например приём материалов от пользователей;
- множество хуков и фильтров для тонкой настройки без правки библиотеки.
Установка и настройка
Установите плагин, затем скопируйте файл example-functions.php в тему или собственный плагин, переименуйте функции и оставьте только нужные поля. В этом файле показаны примеры для основных типов. Дальше значения выводятся в шаблонах стандартными функциями WordPress для работы с метаполями.
Библиотеку можно не ставить отдельным плагином, а включить в свой проект: она подгрузит самую свежую версию из найденных в системе.
Подводные камни
- Нужна разработка. Без знаний PHP работать с CMB2 неудобно. Если нужен интерфейс для настройки полей мышью, выберите Advanced Custom Fields или Meta Box.
- Совместимость между сайтами. Если поля описаны в теме, при её смене они пропадут из админки (данные в базе останутся). Выносите описание в отдельный плагин.
- Безопасность. В шаблонах всегда экранируйте выводимые значения, а при формах на фронтенде проверяйте права и защиту от спама. Персональные данные из таких форм подпадают под 152-ФЗ.
- Поддержка. Ответы на вопросы чаще всего ищутся в вики и исходниках. Закладывайте время на разбор.
Кому подойдёт
Разработчикам тем и плагинов, которым нужны гибкие метаполя без сторонних зависимостей и лишнего интерфейса. Тем, кто собирает сайт без кода, лучше взять решение с конструктором. Для сравнения посмотрите Advanced Custom Fields, Meta Box и Pods.