Плагин Carbon fields позволяет загружать на станицы и записи медиа-файлы (картинки, галерею, файлы загрузки) и легко выводить их на экран. Рассмотрим каждый подробнее.
Файл
Отображает поле загрузки файла с предварительным эскизом загруженного файла. Используется встроенный интерфейс обработки файлов WordPress.
Этот тип поля хранит идентификатор выбранного файла.
Field::make( 'file', 'crb_price_list', __( 'File' ) )
set_type( $mime_type ) — установите допустимый тип файла в виде строки или массива типов. Также поддерживаются короткие типы mime (аудио, видео, изображение).
Field::make( 'file', 'crb_price_list', __( 'File' ) ) ->set_type( array( 'audio', 'image' ) )
set_value_type( $value_type ) — установите тип сохраненного значения. (по умолчанию идентификатор)
Вы можете установить url-адрес для хранения URL-адреса файла вместо идентификатора.
Field::make( 'file', 'crb_file', __( 'File' ) ) ->set_value_type( 'url' )
Вывод поля file
Создадим поле
Field::make("file", "crb_price_list", "MP3") ->set_value_type( 'url' )
Выведем в нужном месте
<?php $file = carbon_get_the_post_meta('crb_price_list' ); $format = '<a href="%s">Скачать прайс-лист</a>'; printf($format, $file); ?>
Или
<?php $file = carbon_get_the_post_meta( 'crb_price_list' ); // Проверяем, есть ли значение в произвольном поле if( $file ){ printf('<a href="%1\$s">Скачать прайс-лист</a>', $file); } ?>
Изображение
Отображает кнопку загрузки изображения с эскизом предварительного просмотра загруженного изображения. Используется встроенный интерфейс обработки файлов WordPress. Поддерживаемые форматы изображений: jpg, jpeg, gif, png и bmp.
Этот тип поля хранит идентификатор выбранного изображения.
Field::make( 'image', 'crb_image', __( 'Image' ) )
set_type( $mime_type ) (defaults to image) — Установите допустимый тип файлов. Также поддерживаются короткие типы mime (аудио, видео, изображение).
Field::make( 'image', 'crb_image', __( 'Image' ) ) ->set_type( array( 'video' ) )
set_value_type( $value_type ) — установите тип сохраненного значения. (по умолчанию идентификатор)
Вы также можете установить тип url для хранения URL-адреса изображения вместо его идентификатора.
Field::make( 'image', 'crb_image', __( 'Image' ) ) ->set_value_type( 'url' )
Вывод поля
<?php Field::make( 'image', 'crb_image', __( 'Image' ) ) //- создали поле $thumbnail_id = carbon_get_post_meta(get_the_ID(),'crb_image'); //- вытащили ID изображения $thumbnail_url = wp_get_attachment_image_url( $thumbnail_id, 'full' );// - получили ссылку на полное изображение поста ?> <img src="<?php echo $thumbnail_url; ?>" alt="" /> // -вывели картинку на экран
Медиа—Галерея
Это поле позволяет добавлять несколько вложений с носителя. Возвращаемые данные содержат массив идентификаторов вложений. Медиа-Галерея поддерживает сортировку с помощью перетаскивания, а метаданные выбранных вложений можно редактировать встроенным образом.
Field::make( 'media_gallery', 'crb_media_gallery', __( 'Media Gallery' ) )
set_type( $mime_type ) — установите допустимый тип файла в виде строки или массива типов. Также поддерживаются короткие типы mime (аудио, видео, изображение).
Вывод поля
<?php $slides = carbon_get_post_meta(get_the_ID(), 'crb_media_gallery'); foreach ($slides as $slide): ?> <img src="<?php echo wp_get_attachment_image_url($slide); ?>" alt="Image"> <?php endforeach; ?>