Вывод всех миниатюр товаров на странице магазина WooCommerce

13 сент. 2012 г., 18:02:10
Просмотры: 15.3K
Голосов: 3
http://69.89.31.200/~horologi/shop/

Я работаю над сайтом выше, и клиент запросил, чтобы на странице магазина отображалась вся информация о товарах, включая все миниатюры товаров. Я скопировал файлы шаблонов WooCommerce в директорию своей темы, чтобы иметь возможность их изменять, и экспериментировал с файлом loop-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="Заглушка" />

<?php endif; ?>

<?php do_action('woocommerce_product_thumbnails'); ?>

Я взял этот код из файла product-image.php. К сожалению, он выводит миниатюры в полном размере. Я не был уверен в "лучшем способе" сделать это. Любая помощь будет очень признателен. Спасибо!

1
Комментарии

Вы пробовали обратиться в поддержку WooCommerce?

Tom J Nowell Tom J Nowell
14 сент. 2012 г. 12:44:47
Все ответы на вопрос 2
0

Второй параметр в get_the_post_thumbnail определяет размер изображения, которое вы хотите получить. В данный момент вы передаете:

apply_filters( 'single_product_large_thumbnail_size', 'shop_single' )

но измените это на

apply_filters( 'single_product_small_thumbnail_size', 'shop_thumbnail' )

И вы получите изображение меньшего размера. Вы также можете передать "thumbnail" или любой из пользовательских размеров, которые у вас есть, в этом месте без использования функции apply_filter.

16 сент. 2012 г. 15:05:33
0

Вместо использования shop_thumbnail или shop_single, вы можете попробовать указать размеры в формате array(ширина, высота).

Просто замените эту строку в вашем коде

apply_filters( 'single_product_large_thumbnail_size', 'shop_single' )

на

apply_filters( 'single_product_large_thumbnail_size', array(300, 300) )
21 февр. 2014 г. 11:58:45