Плагин Carbon fields. Часть 3.3 — Comment Meta, Term Meta

Автор: | 11.07.2019

Продолжаем изучать плагин для создания произвольных полей 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

 

Похожие записи
Лучшие Плагины WordPress AMP

Посетители вашего сайта получают доступ к его содержимому не только Read more

Как отключить плагины WordPress с помощью FTP

Вы пытаетесь отключить плагины WordPress на своем сайте? Скорее всего Read more

Плагин Carbon fields. Часть 4.2 –Типы полей. Complex.

Сложные поля в Carbon fields, действуют как контейнеры, в которые Read more

Плагин Carbon fields. Часть 4.2 –Типы полей. Медиа (file, Image,Media Gallery)

Плагин Carbon fields позволяет загружать на станицы и записи медиа-файлы Read more

Плагин Carbon fields. Часть 4.2 –Типы полей. Дата и время.

Продолжаем знакомство с плагином для создания произвольных полей Carbon fields. Read more

Плагин Carbon fields. Часть 3.2 – Типы Контейнеров. Theme Options.

Контейнер Theme option используется для добавления страниц с различными параметрами Read more

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

одиннадцать − шесть =