Продолжаем изучать плагин для создания произвольных полей Carbon fields. Сегодня рассмотрим контейнеры Comment Meta и  Term Meta.

Comment Meta

Контейнеры Comment meta добавляют дополнительные поля на экраны редактирования комментариев. Данные поля хранятся отдельно для каждого комментария как мета-данные комментария. Откроем файл theme-option.php и добавим два текстовых поля на страницу редактирования комментариев. Для этого внесем в файл следующие строки:  
use Carbon_Fields\Container;

use Carbon_Fields\Field;

Container::make( 'comment_meta', __( 'Comment Information' ) )

->add_fields( array(

Field::make( 'text', 'crb_comment_rating', __( 'Comment Rating' ) ),

Field::make( 'text', 'crb_comment_additional_info', __( 'Additional Comment Information' ) ),

) );
  Откроем вкладку «комментарии» в админ-панели и увидим: Carbon fields Comment Meta

Доступ к значениям полей

Для доступа к значениям полей необходимо использовать функцию carbon_get_comment_meta ($comment_id, $name), где: $comment_id  — идентификатор комментария, где было введено значение. $name  — имя шаблона поля, которое должно быть получено. Вставим следующий код в файл comment.php в то место где бы мы хотели видеть эти дополнительные поля.  
<?php

$comments = get_comments( array(

'post_id' => get_the_ID(),

) );

foreach ( $comments as $comment ) {

$comment_additional_info = carbon_get_comment_meta( $comment->comment_ID, 'crb_comment_additional_info' );

$comment_rating    = carbon_get_comment_meta( $comment->comment_ID, 'crb_comment_rating' );

if ( ! empty( $comment_additional_info ) ) {

echo $comment_additional_info . ' <br> ';

}

if ( ! empty( $comment_rating ) ) {

echo 'Rating: ' . $comment_rating;

}

}

?>
   Открываем запись с комментарием и видим: Carbon fields Comment Meta  

 Term Meta

Контейнер Term Meta используется для расширения экранов редактирования терминов дополнительными полями. Данные поля хранятся отдельно для каждого термина, используя мета-функциональность термина по умолчанию для WordPress 4.4 и выше. Для версий WordPress до 4.4 данные хранятся в пользовательской таблице ($wpdb->termmeta). Откроем файл theme-option.php и добавим следующие строки:  
use Carbon_Fields\Container;

use Carbon_Fields\Field;

Container::make( 'term_meta', __( 'Category Properties' ) )

->where( 'term_taxonomy', '=', 'category' )

->add_fields( array(

Field::make( 'text', 'crb_title',__( 'Title' ) ),

Field::make( 'color', 'crb_title_color', __( 'Title Color' ) ),

Field::make( 'image', 'crb_thumb', __( 'Thumbnail' ) ),

) );
  Теперь зайдем в админ-панель/ рубрики и откроем любую рубрику. term meta

Доступ к значениям полей

Для доступа к значениям полей необходимо использовать функцию carbon_get_term_meta ($term_id, $name ), где: $term_id — идентификатор термина, в который было введено значение. $ name  — имя поля. Получим картинку и текстовое поле. Выведем их в файле архивов archive.php:  
<?php

$term_id = get_queried_object_id();// ID таксономии

$term_thumbnail_id = carbon_get_term_meta( $term_id, 'crb_thumb'); // ID изображения

$term_thumbnail_url = wp_get_attachment_image_url( $term_thumbnail_id, 'full' );?> // ссылка изображение (полный размер)

<img width="300" src="<?php echo $term_thumbnail_url; ?>" alt="" /> <!-- вывести каринку на экран -->

<p>Editor of this category: <?php echo carbon_get_term_meta( $term_id, 'crb_title'); ?></p>
  Посмотрим на результат. Carbon fields Term Meta Чтобы вывести цвет, например можно задать выбранный цвет заголовку // Получаем значение поля для ввода цвета  
<?php  $term_title_color = carbon_get_term_meta( $term_id, 'crb_title_color' );?>

<!—в шапке выведем стиль или можно сделать это inline -->

<style>

H2{

color: <?php echo $term_title_color; ?>;

}

</style>
  Или
<p style="color: <?php echo $term_title_color; ?>;">Editor of this category: <?php echo carbon_get_term_meta( $term_id, 'crb_title'); ?></p>
  Смотрим, что у нас поучилось Carbon fields Term Meta