Качаем отсюда - https://carbonfields.net/zip/latest/ и устанавливаем через админку. Не распаковывая отправляем на установку zip-архив.
Интерфейса в админке нет, всё подключается php кодом, но это скорее плюс, чем минус.
Весь код пишем в файле functions.php
, либо, как я рекомендую делать, выносим в отдельный файл и подключаем в function.php
через require_once()
.
Во-первых, нужно подключить классы:
use Carbon_Fields\Container;
use Carbon_Fields\Field;
Во-вторых, функция добавления полей подключается через хук:
add_action( 'carbon_fields_register_fields', 'crb_attach_post_options' );
function crb_attach_post_options() { ... }
Есть три сущности:
Внутри нашей функции вызываем функцию для создания контейнера
Container::make( 'post_meta', 'Настройки страницы' )
Это создаст контейер на всех страницах, постах и кастомных постах. Название контейнера будет 'Настройки страницы'. Существуют разные варианты мест куда поместить контейнер, но об этом позже.
Сейчас создадим поле и получим минимально рабочий код.
Поля создаются вызовом метода add_fields:
Container::make( 'post_meta', 'Настройки страницы' )->add_fields( array(
Field::make( 'text', 'crb_phone_number', 'Телефон' ),
Field::make( 'text', 'crb_mail_address', 'Почта' ),
));
Мы подключили классы плагина, создали функцию, добавили в нее контейнер, добавили в него поля и подключили всё это через хук.
use Carbon_Fields\Container;
use Carbon_Fields\Field;
add_action( 'carbon_fields_register_fields', 'crb_attach_post_options' );
function crb_attach_post_options() {
Container::make( 'post_meta', 'Настройки страницы' )->add_fields( array(
Field::make( 'text', 'crb_width', 'Ширина' ),
Field::make( 'text', 'crb_height', 'Высота' ),
));
}