Существует несколько плагинов, которые помогут вам добавить собственные мета-блоки в контент Вашего сайта на CMS WordPress. Все они имеют свои плюсы и минусы, и в конце концов Вами конечно же будет использоваться именно тот плагин (или не плагин, а код) который больше придется по душе. Моей душе очень даже понравился вариант добавления метабоксов при помощи плагина CMB2.
В этом уроке я расскажу, как использовать плагин CMB2 для добавления произвольных полей (мета боксов) в тему Вашего сайта под управлением WordPress.
Установка плагина CMB2
Загрузить плагин можно по ссылке ниже:
https://ru.wordpress.org/plugins/cmb2/
Описание
CMB2 – это инструмент разработчика для создания метабоксов, настраиваемых полей и форм для WordPress, который поразит вас. Легко управляйте мета полями для сообщений, условий, пользователей, комментариев или создавайте собственные страницы параметров.
Плагин CMB2 – это полное переписывание пользовательских метабоксов и полей для WordPress. Для начала следуйте примерам во включенном example-functions.php
файле и ознакомьтесь с основными инструкциями по использованию .
Вы можете увидеть список доступных типов полей здесь .
Вклад
Разработка происходит на Github, и все взносы приветствуются разработчиками плагина. Пожалуйста, прочитайте ДОКУМЕНТАЦИЮ для более подробной информации.
Возможности
- Создавайте метабоксы для использования на страницах редактирования сообщений.
- Создавайте формы для использования на страницах параметров .
- Создавайте формы для обработки пользовательских мета полей и отображайте их на страницах добавления / редактирования профиля пользователя.
- Создавайте формы для обработки мета-терминов и отображайте их везде, где используются ваши таксономии.
- Гибкий API, который позволяет использовать формы CMB практически в любом месте, даже на внешнем интерфейсе .
- Несколько типов полей включены по умолчанию .
- Пользовательский хук API, который позволяет создавать собственные типы полей .
- Существует множество хуков и фильтров, позволяющих изменять многие аспекты библиотеки (без непосредственного редактирования).
- Поддерживаются повторяемые поля для большинства типов полей, а также повторяемые группы полей.
- CMB2 безопасен для любого проекта.
Создание файла в теме, для создания мета боксов в WP
- Установите плагин CMB2 в панели управления WordPress и активируйте его.
- Создайте новый файл в корне своей WordPress темы
_SDStudio_CMB2-Meta-Boxes.php
и сохраните его в/_SDStudio_CMB2-Meta-Boxes/
каталоге. - В этом новом
_SDStudio_CMB2-Meta-Boxes.php
файле используйте пример кода, который я написал ниже. Данный код создан для продуктов Woocommerce, и я оставил в рабочем состоянии только данный сниппет:
Который отвечает за вывод метабокса текстового поля:
Остальную часть мета боксов я закомментировал. Просто расскомментируйте нужныый мета бокс и примените его для своего типа контента.
Тип контента нужно указывать в строке 'object_types' => array( 'product', ), // Post type - Woocommerce product
в данной части кода:
Если Вам интересен оригинальный файл с примерами от разработчиков CMB2, Вы можете найти его здесь.
Теперь собственно сам код для файла _SDStudio_CMB2-Meta-Boxes.php (Код, о котором шла речь выше):
Подключение файла _SDStudio_CMB2-Meta-Boxes.php в тему WordPress
- Добавьте данный код в Ваш файл
function.php
:/** * Meta Boxes. * START */ require_once(__DIR__.'/_SDStudio_CMB2-Meta-Boxes/_SDStudio_CMB2-Meta-Boxes.php'); /** * END * Meta Boxes. */
- Откройте любой товар Woocommerce (или одну из своих страниц если Вы указали
'object_types' => array( 'page', )
) из панели управления WordPress и убедитесь, что в мета-полях отображаются и сохраняются введенные вами данные.
Отображение контента метабоксов на внешней стороне сайта
- Теперь, когда у нас есть данные, сохраненные в бэкэнде, нам нужно отобразить контент в веб-интерфейсе. Для этого добавьте следующий код в
_SDStudio_CMB2-Meta-Boxes.php
: