Напомню, что в прошлой статье я рассказала о том, как использовать плагин Carbon fields, в частности о методе создания контейнера Container:: make ($type, $title), и условных отображениях с помощью одного из следующих методов:
->where( $condition, $comparison_operator, $value )- добавляет условие с AND (и) ->or_where( $condition, $comparison_operator, $value )- добавляет состояние OR (или ).
Сегодня я подробнее остановлюсь на имени типа условий $condition

Итак, какие бывают типы условий (Condition Types).

post_meta (произвольные поля)

Контейнер будет отображаться на страницах редактирования постов (записей, страниц, произвольных типов записей) Плагин Carbon fields. Часть 3 – Типы условий Пример // Отобразить container на странице с id=2
use Carbon_Fields\Container; use Carbon_Fields\Field; Container::make( ‘post_meta’, __( ‘Homepage Settings’ ) ) ->where( ‘post_type’, ‘=’, ‘page’ ) ->where( ‘post_id’, ‘=’, ‘2’ ) ->add_fields(array( Field::make(‘text’, ‘crb_custom_text’), Field::make(‘image’, ‘crb_photo’), ));
Вот, что должно получиться Плагин Carbon fields. Часть 3 – Типы условий

term_meta (таксономии)

Для добавления дополнительных полей в рубрики, мета и так далее. term_meta (таксономии) Пример // Отображение контейнера в таксономии категорий книг
Container::make( ‘post_meta’, __( ‘Book Category Data’ ) ) ->where( ‘term_taxonomy’, ‘=’, ‘crb_book_category’ ) ->add_fields( array( .. ) );
User Meta (пользователи) Для редактирования учетных записей пользователей. carbon fields Пример // Отображение контейнера только для администраторов
Container::make( ‘post_meta’, __( ‘Administrator’ ) ) ->where( ‘user_role’, ‘=’, ‘administrator’ ) ->add_fields( array( .. ) );

theme_options

carbon fields Доступные условия Приведенные ниже условия применимы к любому контейнеру и зависят от текущего пользователя carbon fields Пример Параметры отображения темы страницы для пользователей, которые имеют возможности ‘manage_options’
Container::make( ‘theme_options’, __( ‘Theme Options’ ) ) ->where( ‘current_user_capability’, ‘=’, ‘manage_options’ ) ->add_fields( array( .. ) )
Описание терминов Условия, связанные с терминами, предполагают, что вы предоставляете им описание термина в качестве значения (массив дескрипторов термина для операторов IN и NOT IN). Дескриптор термина — это массив, который имеет следующие ключи: carbon fields Пример использования
Container::make( ‘post_meta’, ‘Custom Data’ ) ->where( ‘post_term’, ‘=’, array( ‘field’ => ‘slug’, ‘value’ => ‘featured’, ‘taxonomy’ => ‘category’, ) )

Вкладки

Вкладки позволяют группировать несколько полей под разными панелями вкладок с помощью контейнерного метода add_tab (). Вкладки можно использовать для всех типов контейнеров. Пример:
use Carbon_Fields\Container; use Carbon_Fields\Field; Container::make( ‘post_meta’, __( ‘User Settings’ ) ) ->where( ‘post_type’, ‘=’, ‘page’ ) ->add_tab( __( ‘Profile’ ), array( Field::make( ‘text’, ‘crb_first_name’, __( ‘First Name’ ) ), Field::make( ‘text’, ‘crb_last_name’, __( ‘Last Name’ ) ), Field::make( ‘text’, ‘crb_position’, __( ‘Position’ ) ), ) ) ->add_tab( __( ‘Notification’ ), array( Field::make( ‘text’, ‘crb_email’, __( ‘Notification Email’ ) ), Field::make( ‘text’, ‘crb_phone’, __( ‘Phone Number’ ) ), ) );
Здесь мы добавили текстовые вкладки в контейнер, который будет отображаться на странице записей. Вот как это выглядит: carbon fields