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

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

HIT

11.04.2017

5321

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

После установки плагина, необходимо регистрировать (в 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]
  • Похожие записи
  • Комментарии
  • Вложения
Выравнивание миниатюр товаров

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

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

/
Миниатюры меток

Миниатюры меток

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

/
Галерея изображений в виде карусели

Галерея изображений в виде карусели

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

/

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

Notice: Функция WP_Styles::add вызвана неправильно. Стиль с дескриптором "editor-buttons" был поставлен в очередь с незарегистрированными зависимостями: dashicons. Дополнительную информацию можно найти на странице «Отладка в WordPress». (Это сообщение было добавлено в версии 6.9.1.) in /home/t/tiberi6w/opttour.ru/public_html/wp-includes/functions.php on line 6170

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

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