web-dev-qa-db-fra.com

Page produit WooCommerce Boucle - Afficher toutes les vignettes de produit

http://69.89.31.200/~horologi/shop/

Je travaille sur le site ci-dessus et le client a demandé que sur la page de la boutique, toutes les informations sur le produit soient affichées sur cette page, y compris toutes les vignettes de produits. J'ai copié les fichiers de modèle WooCommerce dans mon répertoire de thème afin de pouvoir les modifier et je me suis amusé avec le fichier loop-shop.php. Ce que j'ai d'abord essayé, c'est simplement d'ajouter le code suivant dans la boucle de la page du produit:

<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'); ?>

J'ai extrait ce code du fichier product-image.php. Malheureusement, il affiche les vignettes en taille réelle. Je n'étais pas sûr de la "meilleure pratique" pour ce faire. Toute aide est grandement appréciée. Je vous remercie!

2
Clinton Warren

Le deuxième paramètre de get_the_post_thumbnail prend la taille de l'image souhaitée. Vous passez actuellement dans:

apply_filters( 'single_product_large_thumbnail_size', 'shop_single' )

mais change cela en

apply_filters( 'single_product_small_thumbnail_size', 'shop_thumbnail' )

Et vous aurez la plus petite taille d'image. Vous pouvez également passer à "vignette" ou à n’importe laquelle des tailles personnalisées que vous avez à cet endroit sans la fonction apply_filter.

1
Clinton Warren

Au lieu d'utiliser shop_thumbnail ou shop_single, vous pouvez essayer array(width, height).

Il suffit de remplacer cette ligne de votre code

apply_filters( 'single_product_large_thumbnail_size', 'shop_single' )

avec

apply_filters( 'single_product_large_thumbnail_size', array(300, 300) )
2
Habib-ur-Rahman