Что умеет
Meta Box позволяет добавлять собственные поля в админку WordPress и использовать их данные в шаблонах. Типичные задачи: карточки событий, сотрудников, отзывов, объявлений — всё, что не умещается в стандартный редактор записи.
Поля можно прикрепить к:
- записям, страницам и произвольным типам записей;
- таксономиям (через модуль MB Term Meta);
- профилям пользователей (MB User Meta) и комментариям (MB Comment Meta);
- страницам настроек темы или плагина (MB Settings Page).
Среди встроенных типов — текст, текстовая область, визуальный редактор, изображения и файлы, выбор записей и пользователей, чекбоксы, переключатели, дата и время, таксономии, oEmbed. Большинство полей умеют клонироваться, а значит, подходят для списков и повторяемых блоков. Можно писать свои типы полей.
Данные по умолчанию лежат в обычных таблицах метаданных WordPress, что быстро и удобно для интеграций. Для сложных проектов можно расширить хранение собственными таблицами.
Установка и настройка
После установки поля описываются либо кодом через фильтр, либо в визуальном конструкторе, если он доступен в вашей версии. Для создания типов записей и таксономий рядом используют бесплатный CPT UI от тех же авторов. Выведите значение в шаблоне функцией rwmb_meta(), а для сложных страниц лучше сразу продумайте структуру полей и их названия, чтобы потом не переименовывать ключи.
Подводные камни
- Ключи полей. Переименование поля в коде оставит старые данные в базе под прежним ключом, их придётся мигрировать вручную.
- Модули. Часть функций, например страницы настроек или поля для пользователей, подключается отдельными расширениями. Проверьте, что нужное у вас включено.
- Зависимость шаблонов. Если вывод значений идёт через функции Meta Box, при удалении плагина эти вызовы вызовут ошибку. Данные сохранятся в мета-таблицах, но шаблоны придётся переписать.
- Другой фреймворк полей. Не используйте параллельно ACF и Meta Box для одних и тех же данных, чтобы не запутаться в хранении.
- Если поля собирают персональные данные, не забывайте про 152-ФЗ.
Кому подойдёт
Разработчикам и студиям, которым нужен лёгкий и быстрый инструмент для произвольных полей. Для визуального создания полей без кода чаще выбирают Advanced Custom Fields, для расширения возможностей ACF — ACF Extended, а типы записей удобно заводить через Custom Post Type UI.