Позиционирование миниатюры в woocommerce
На сайте есть каталог товаров. http://xn—-7sbbags2alqh1b1fue.kz/catalog Миниатюра в каталоге, да и на самой странице с товаром формируется с центра изображения..
Собственно вопрос в следующем. Как сделать так, чтобы для миниатюры бралась верхняя часть вертикальной фотографии, а не центр?
Вот еще вариант)))
add_filter('post_thumbnail_size', 'te_woocommerce_composite_component_image_size', 100); function te_woocommerce_composite_component_image_size($size){ if('shop_catalog' == $size ){ return 'full'; } else { return $size; } }
Проверил у себя — работает.
Вукоммерс добавляет свой размер миниатюр, в котором вот таким образом обрезает.
Если вы ходите использовать размеры по умолчанию, попробуйте добавить следующий ком в файл functions.php который лежит в папке с вашей темой.
function sgr_filter_image_sizes( $sizes) { unset( $sizes['shop_catalog']); // unset( $sizes['shop_single']); // unset( $sizes['shop_thumbnail']); return $sizes; } add_filter('intermediate_image_sizes_advanced', 'sgr_filter_image_sizes');
Если результата не даст, попробуйте раскомментировать 2 строки.
Далее должны выводиться стандартные миниатюры которые можно настроить с помощью css стилей.
Сообщите пожалуйста о результатах.
Просто код и даже с раскомментированными полями не помогло. Картинки стали чуть ниже, подбородок видно, но надо больше, чтобы норм портрет получался. А как именно со стилями поступить? Я что не пробую у меня просто картинка растягивается и все.

у вас сейчас на сайте код применен?
Попробуйте вот так:
function sgr_filter_image_sizes( $sizes) { unset( $sizes['shop_catalog']); unset( $sizes['shop_single']); unset( $sizes['shop_thumbnail']); unset( $sizes['thumbnail']); unset( $sizes['medium']); return $sizes; } add_filter('intermediate_image_sizes_advanced', 'sgr_filter_image_sizes');
Не помогло., к сожалению.
Даа работает круто! прям в кайф смотрится!) http://xn—-7sbbags2alqh1b1fue.kz/catalog Спасибо, Гуру)
Аа еще момент. На самой странице с товаром миниатюра обрезанная осталась. Было бы в кайф также в полный рост.
add_filter('post_thumbnail_size', 'te_woocommerce_composite_component_image_size', 100); function te_woocommerce_composite_component_image_size($size){ if('shop_catalog' == $size ){ return 'full'; } else { return $size; } }
Последний код что применил. в самом каталоге и на главную где вывожу все круто смотрится. А в самой карточке товара осталось обрезанным верх и низ.

Попробуйте заменить код на вот этот:
add_filter('post_thumbnail_size', 'te_woocommerce_composite_component_image_size', 100); function te_woocommerce_composite_component_image_size($size){ if(('shop_catalog' == $size ) || ('shop_single' == $size )){ return 'full'; } else { return $size; } }

При этом учтите что выводится полный размер изображений, что бы было и дальше так ровно, нужно загружать картинки размером 668 на 1000 пикселей. Или, если что, просто подправить css стили.