Плагин Carbon fields. Часть 3.1 – Типы Контейнеров. Post Meta

Автор: | 30.06.2019

Контейнеры в Custom 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_get_post_meta ($id, $name), где:
$id – ID поста, где было введено значение.
$name — имя поля, которое должно быть получено.
Эту конструкцию вставляем в то место шаблона, где должны появиться данные значения. В примере выше мы создали 2 поля – текст и картинку. Откроем любую страницу и заполним их

carbon fields

Откроем файл page.php и пропишем следующий текст

 

<!-- Simple field -->

<p>Article was published in: <?php echo carbon_get_post_meta( get_the_ID(), 'crb_custom_text' ); ?></p>

 

Вывести картинку немного сложнее:

Сначала получим ID изображения.

 

$thumbnail_id = carbon_get_post_meta( get_the_ID(), 'crb_photo'); // получим ID картинки

Затем ссылку на картинку (второй параметр не обязательный, если его не указать, будет выводиться миниатюра).

 

$thumbnail_url = wp_get_attachment_image_url( $thumbnail_id, 'full' ); // ссылка на полный размер картинки по ID вложения
?>

 

Осталось вывести само изображение

 

<img src="<?php echo $thumbnail_url; ?>" alt="" />

Вывод комплексных полей

Позже я подробно расскажу о более сложных, комплексных полях, которые можно создать. Например, добавим комплексное поле для страниц

 

Field::make( 'complex', 'crb_slider', __( 'Slider' ) )
->add_fields( array(
Field::make( 'text', 'title', __( 'Slide Title' ) ),
Field::make( 'image', 'photo', __( 'Slide Photo' ) ),
) )

 

carbon fields

 

Их вызывают немного по-другому. В том месте шаблона, где хотим вызвать поля нужно прописать:

 

$slides = carbon_get_post_meta( get_the_ID(), 'crb_slider' );

if ( $slides ) {
foreach ($slides as $slide) {
echo '<p>' . $slide['title'] . '</p>';
$thumbnail_id = $slide['photo']; // получим ID картинки из опции темы
$thumbnail_url = wp_get_attachment_image_url( $thumbnail_id, 'full' ); // ссылка на полный размер картинки по ID вложения
echo '<img src=" '. $thumbnail_url . '">';
}
}
?>

 

Открываем страницу и видим:
carbon fields
Вы также можете использовать carbon_get_the_post_meta( $name )  для доступа к значениям текущей записи в цикле.

 

<p>Article was published in: <?php echo carbon_get_the_post_meta( 'crb_location' ); ?></p>

<?php $slides = carbon_get_the_post_meta( 'crb_slides' ); ?>

 

Contact form 7- как установить, настроить и использовать
Contact form 7

Contact form 7 — это, без сомнения, один из самых Read more

Конфликты плагинов WordPress
Конфликты плагинов WordPress

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

Плагины Для Создания Форума на WordPress
Плагины Для Создания Форума на WordPress

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

Lazy load — отложенная (ленивая) загрузка изображений и видео на wordpress
отложенная (ленивая) загрузка

Вы хотите улучшить скорость загрузки страницы вашего сайта WordPress? Увеличение Read more

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

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

4 Самых Эффективных Плагина Для Удаления Вредоносных Программ WordPress
4 Самых Эффективных Плагина Для Удаления Вредоносных Программ WordPress

Ваш WordPress взломан или заражен вредоносными программами? Если да, то Read more

Плагин Carbon fields. Часть 3.1 – Типы Контейнеров. Post Meta: 2 комментария

  1. Я

    Ужасно тупо не писать версию плагина, при таких больших отличиях версий….

    1. wpmaster Автор записи

      Спасибо за важное замечание, хоть и выражено оно не в очень корректной форме…Версия плагина 3,0! Актуальная информация об изменениях в новых версиях на оф. сайте https://carbonfields.net

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

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

восемь − 3 =