WooCommerce: изменить размер миниатюры галереи - PullRequest
1 голос
/ 01 августа 2020

Я хочу изменить размер эскиза галереи на макс. 60x60 пикселей. Не обрезая их.

Я нашел следующий крючок в документации WooCommerce:

add_filter( 'woocommerce_gallery_thumbnail_size', function( $size ) {
    return array('width' => 60, 'height' => 60, 'crop' => 0, );
} );

Но кажется, что параметр кадрирования не действует ?! WordPress также игнорирует этот размер и всегда показывает версию 150x150px из самого WordPress в навигации по галерее. Даже после восстановления размеров миниатюр с помощью плагина. Версия 60х60 стоит на сервере. Но он не используется WooCommerce и обрезается.

Я также использую этот код для добавления поддержки WooCommerce в тему:

function mytheme_add_woocommerce_support() {
    add_theme_support( 'woocommerce', array(
        'thumbnail_image_width'         => 240,
        'single_image_width'            => 450,
        'gallery_thumbnail_image_width' => 60,
    ) );
    add_theme_support( 'wc-product-gallery-slider' );
}
add_action( 'after_setup_theme', 'mytheme_add_woocommerce_support' );

Когда я удаляю это, размеры эскизов WooCommerce игнорируются полностью.

Я что-то делаю не так? Он работает для изображений других размеров, например:

add_filter( 'woocommerce_get_image_size_thumbnail', function( $size ) {
    return array('width' => 240, 'height' => 240, 'crop' => 0, );
} );

add_filter( 'woocommerce_get_image_size_single', function( $size ) {
    return array('width' => 450, 'height' => 450, 'crop' => 0, );
} );

Эти изображения имеют макс. ширину и высоту и не обрезаны. Но версия эскизов галереи всегда обрезана.

1 Ответ

0 голосов
/ 01 августа 2020

Я нашел решение, и, думаю, это было неправильное имя в фильтре.

Имя, которое я использовал (woocommerce_gallery_thumbnail_size), было скопировано из документации, но его версия кажется правильной: woocommerce_get_image_size_gallery_thumbnail

Hin отсюда: https://theme.co/forum/t/woocommerce-product-gallery-thumbnails-cropped/47367/2

Это их код:

// change woocommerce thumbnail image size
add_filter( 'woocommerce_get_image_size_gallery_thumbnail', 'override_woocommerce_image_size_gallery_thumbnail' );
function override_woocommerce_image_size_gallery_thumbnail( $size ) {
    // Gallery thumbnails: proportional, max width 200px
    return array(
        'width'  => 60,
        'height' => 60,
        'crop'   => 0,
    );
}

К сожалению, подоконник навигации слайдера галереи использует версию 150x150 изображения. Но вопрос не в этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...