/ Сайтостроение / Wordpress / Несколько миниатюр записи

Несколько миниатюр записи

11.04.2017

939

В некоторых случаях необходимо, чтобы у записи было несколько миниатюр. Например, если запись это товар с несколькими изображениями. Добавим эту возможность при редактировании записи.

Плагин Multiple Featured Images

После установки плагина, необходимо регистрировать (в functions.php) каждую дополнительную миниатюру:

//Добавление дополнительной миниатюры

add_filter( 'kdmfi_featured_images', function( $featured_images ) {
    $args = array(
        'id' => 'featured-image-2',
        'desc' => 'Your description here.',
        'label_name' => 'Featured Image 2',
        'label_set' => 'Set featured image 2',
        'label_remove' => 'Remove featured image 2',
        'label_use' => 'Set featured image 2',
        'post_type' => array( 'post' )
    );

    $featured_images[] = $args;

    return $featured_images;
});

Выводятся дополнительные миниатюры так:

kdmfi_the_featured_image( 'featured-image-2', 'full' );

Плагин Multiple Featured Images (10 000 скачиваний) не содержит лишнего кода, отлично подходит для случаев когда нам точно известно количество необходимых дополнительных миниатюр.

Плагин Featured Galleries

Сделать добавление дополнительных миниатюр в виде единой галереи (как в woocommerce) можно с помощью плагина Featured Galleries (4000 скачиваний)

После установки в редакторе записи появляется виджет справа, в него и добавляем миниатюры.

Выводятся изображения таким образом:

<?php $galleryArray = get_post_gallery_ids($post->ID); ?>

<?php foreach ($galleryArray as $id) { ?>

<img src="<?php echo wp_get_attachment_image_url( $id, 'thumbnail' ); ?>">

<?php } ?>

thumbnail — задаем размер миниатюры.

Если нужно применить данную возможность для произвольных типов записей — нужно добавить функцию:

function add_featured_galleries_to_ctp( $post_types ) {
    array_push($post_types, 'custom_post_type'); //array('post','page')
    return $post_types;
}
add_filter('fg_post_types', 'add_featured_galleries_to_ctp' );

Условие — есть ли изображения галереи:

<?php $galleryArray = get_post_gallery_ids($post->ID); ?>
	
<?php if ( !empty($galleryArray) ): ?>
	
<h2>Галерея изображений</h2>

<?php foreach ($galleryArray as $id) { ?>

  <a href="<?php echo wp_get_attachment_image_url( $id, 'full' ); ?>"><img src="<?php echo wp_get_attachment_image_url( $id, 'medium' ); ?>"></a>

<?php } ?>
	
<?php else: ?>
  
<?php the_post_thumbnail('medium'); ?>
  
<?php endif; ?>

Обнаружил момент, что при выборе изображений для галереи отсутствует стандартная фильтрация (или дополнительная) элементов медиабиблиотеки. Это исправляется следующей функцией:

function show_fg_sidebar( $show_sidebar ) {
    return true; // ($show_sidebar comes in a false)
} add_filter( 'fg_show_sidebar', 'show_fg_sidebar' );

Тэги: ,

Поделится информацией с друзьями

  • Похожие записи
  • Комментарии
  • Вложения
Галерея изображений товара в категории

Галерея изображений товара в категории

Создадим переключающиеся изображения товара при наведении мыши, либо галерею изображений товара в шаблоне категории. Под галереей изображений (Featured Images) понимаются дополнительные изображения помимо основного изображения. Выводим дополнительные изображения function woocommerce_feature_gallery() Читать далее »

/
Фотогалерея (NextGEN Gallery)

Фотогалерея (NextGEN Gallery)

Часто на различных сайтах требуется организовать галерею изображений. Сделать это можно различными плагинами, либо штатными средствами. Штатные методы формирования галереи с каждой версией совершенствуются. Стандартная галерея wordpress Галерея в виде Читать далее »

Изображение для категории товаров

Изображение для категории товаров

В дизайнерских целях иногда требуется выводить изображение для категории товаров. Сделать это можно несколькими способами: плагином, кодом в functions, либо дополнительными полями. При этом кодом в funtions описанном мы будем Читать далее »

/

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

Пока нет комментариев. Будь первым!

Несколько миниатюр записи
Мультиязычность сайта
Рекомендации для васМультиязычность сайтаOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.