Cum să obții prima imagine din galeria unui produs WooCommerce într-o buclă

8 mar. 2016, 04:27:49
Vizualizări: 21.9K
Voturi: 4

Vreau să afișez un produs cu o imagine principală și când vizitatorul trece cu mouse-ul peste acea imagine, să se schimbe cu prima imagine din galeria produsului. Folosesc acest cod pentru a afișa galeria de imagini, dar acesta afișează toate imaginile din galeria produsului. Eu vreau doar prima imagine.

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

Știe cineva cum să rezolv această problemă? Apreciez orice sugestii.

Cu stimă

0
Toate răspunsurile la întrebare 2
3

Împreună cu thumbnail-ul produsului (presupun că îl ai deja), ceea ce ai nevoie este o listă (array) cu imaginile produsului - WooCommerce are astfel de metode, de exemplu $product->get_gallery_attachment_ids().

Poți lua primul ID din array și să-l folosești pentru a obține o singură imagine utilizând wp_get_attachment_image(), sau wp_get_attachment_url(), etc., apoi să folosești acea imagine ca sursă alternativă pentru imaginea principală (thumbnail).

Apropo, apelul woocommerce_product_thumbnails afișează markup pe care probabil nu dorești să-l folosești. Va trebui fie să-l ignori, fie să dezactivezi funcțiile legate de el pentru a obține rezultatul dorit.

8 mar. 2016 07:04:25
Comentarii

Problema mea este că nu știu cum să obțin prima imagine din galerie. Folosesc http://stackoverflow.com/questions/29778288/get-woocommerce-product-gallery-image-caption dar tot primesc toate imaginile din galerie.

Mailmulah Mailmulah
8 mar. 2016 14:15:57

În loc să folosești foreach în acel cod, trebuie să obții doar primul URL astfel: wp_get_attachment_url( $attachment_ids[0], 'large').

Isaac Lubow Isaac Lubow
10 mar. 2016 02:46:53

Mulțumesc. Cu o mică modificare, codul funcționează perfect.

Mailmulah Mailmulah
10 mar. 2016 18:43:11
0

Actualizare 2018: Este necesar să folosiți get_gallery_image_ids(); în loc. Apoi folosiți wp_get_attachment_url() cu primul ID din tabloul returnat.

$product->get_gallery_image_ids();
18 dec. 2018 20:50:17