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

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

HIT

11.04.2017

4662

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

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

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

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

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

<?php $galleryArray = get_post_gallery_ids($post->ID); ?>
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' );

Был случай, когда в произвольных типах записей в админке не открывалось меню добавления изображений. Решил проблему следующим образом: отключил условие проверки на тип записи в файле featured-galleries/includes/controller.php (строка 51).

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

<?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' );

Этот плагин устарел, рекомендуется использовать аналогичный.

[site-socialshare]
  • Похожие записи
  • Комментарии
  • Вложения
Выравнивание миниатюр товаров

Выравнивание миниатюр товаров

Идеальная ситуация, когда мы загружаем изображения для товаров (хотя бы для главного изображения) квадратными. т.е. заранее подготовленными, откадрированными. Но бывают случаи, когда на сайт начинают заливаться изображения разных пропорций. Сделаем Читать далее »

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

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

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

/
Выводим записи у которых нет миниатюры

Выводим записи у которых нет миниатюры

Иногда нужно вывести все записи в которых отсутствуют миниатюры. Например, для интернет-магазина с множеством товаров. Сделаем это! Создаем страницу вывода Создадим шаблон страницы none-img.php, вначале обязательно прописываем название шаблона: <?php Читать далее »

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

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

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