Плагин 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
Конфликты плагинов WordPress

Конфликт плагинов WordPress может вывести из строя весь ваш сайт Read more

Лучшие Плагины WordPress AMP
Лучшие Плагины WordPress AMP

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

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

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

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

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

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

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

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

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

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

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

восемнадцать − пять =