Cum să obții prima imagine din galeria unui produs WooCommerce într-o buclă
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ă
Î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.
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
Î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