/ Сайтостроение / Плагины / Выравнивание миниатюр товаров

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

18.02.2018

660

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

Обернуть изображения в div

Первым делом необходимо в настройках WC снять галку с жесткой обрезки (Изображения каталога). Далее необходимо выводимые в категориях миниатюры обернуть в div

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

remove_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumbnail', 10);
add_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumbnail', 10);


if ( ! function_exists( 'woocommerce_template_loop_product_thumbnail' ) ) {
    function woocommerce_template_loop_product_thumbnail() {
        echo woocommerce_get_product_thumbnail();
    } 
}
if ( ! function_exists( 'woocommerce_get_product_thumbnail' ) ) {   
    function woocommerce_get_product_thumbnail( $size = 'shop_catalog', $placeholder_width = 0, $placeholder_height = 0  ) {
        global $post, $woocommerce;
        $output = '<div class="imagewrapper">';

        if ( has_post_thumbnail() ) {               
            $output .= get_the_post_thumbnail( $post->ID, $size );              
        }                       
        $output .= '</div>';
        return $output;
    }
}

Теперь можно задать классу imagewrapper центрирующие свойства

.imagewrapper {
    margin-bottom: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 200px;
    background: white;
}

.imagewrapper img {
    max-height: 200px;
    max-width: 200px;
    width: auto !important;
}

Добавление пространства (прозрачного или белого) при формировании миниатюры

Вывести миниатюру категории WC

Для получения миниатюры категории товара нужна иметь в переборе ее term_id

$thumbnail_id = get_woocommerce_term_meta( $term->term_id, 'thumbnail_id', true );
$thumbnail = wp_get_attachment_image_src( $thumbnail_id, 'shop_single' );

shop_catalog — изображения каталога (300х300 с жесткой обрезкой)
shop_single — изображение единичного товара (600х600 с жесткой обрезкой)
shop_thumbnail — миниатюра товара (180х180 с жесткой обрезкой)

Далее выводим изображение

<a href="<?php echo get_term_link($term->term_id);?>"><img src="<?php echo $thumbnail[0]; ?>"></a>

Тэги: ,

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

  • Похожие записи
  • Комментарии
  • Вложения
Кнопки WC

Кнопки WC

Давно хотел подробно разобрать тему с кнопками WC. Кнопки меняют свой вид и функционал в зависимости от типа продукта, наличия, и других факторов. Так же в движке магазина Woocommerce множество Читать далее »

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

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

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

/
Субкатегории в категориях Woocommerce

Субкатегории в категориях Woocommerce

В шаблоне вывода категорий Woocommerce к каждой категории можно выводить список субкатегорий. Для этого в шаблоне content-product_cat.php, перед закрывающим тегом /li вставляем следующее <div class="podrazdely"> <?php $wsubargs = array( 'hierarchical' Читать далее »

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

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

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