Напомню, что в прошлой статье я рассказала о том, как использовать плагин 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