http://69.89.31.200/~horologi/shop/
Я работаю над сайтом выше, и клиент запросил, чтобы на странице магазина, вся информация о продукте была отображена на той странице, включая все миниатюры продукта. Я скопировал файлы шаблона WooCommerce в свой каталог темы, таким образом, я могу изменить их и бездельничал с файлом цикла-shop.php. Что я попробовал, сначала просто добавлял следующий код в цикл страницы продукта:
<div class="images">
<?php if ( has_post_thumbnail() ) : ?>
<a itemprop="image" href="<?php echo wp_get_attachment_url( get_post_thumbnail_id() ); ?>" class="zoom" rel="thumbnails" title="<?php echo get_the_title( get_post_thumbnail_id() ); ?>"><?php echo get_the_post_thumbnail( $post->ID, apply_filters( 'single_product_large_thumbnail_size', 'shop_single' ) ) ?></a>
<?php else : ?>
<img src="<?php echo woocommerce_placeholder_img_src(); ?>" alt="Placeholder" />
<?php endif; ?>
<?php do_action('woocommerce_product_thumbnails'); ?>
Я вытянул тот код из файла продукта-image.php. К сожалению, это производит полноразмерные миниатюры. Я не был уверен в 'лучшей практике' способ сделать это. Любая справка значительно ценится.Спасибо!
Второй параметр на get_the_post_thumbnail берет размер изображения, которое Вы хотите. Вы являетесь в настоящее время передающими в:
apply_filters( 'single_product_large_thumbnail_size', 'shop_single' )
но изменение это к
apply_filters( 'single_product_small_thumbnail_size', 'shop_thumbnail' )
И у Вас будет меньший размер изображения. Можно также передать в "миниатюре" или любом из пользовательских размеров, которые Вы имеете в том месте без функции apply_filter.
Вместо использования shop_thumbnail
или shop_single
, можно попробовать array(width, height)
.
Просто замените эту строку своего кода
apply_filters( 'single_product_large_thumbnail_size', 'shop_single' )
с
apply_filters( 'single_product_large_thumbnail_size', array(300, 300) )