Ønsker man at vise, hvilke produktvariationer, der er tilgængelige i en webshop, i listevisningen under f.eks. kategorier eller på forsiden kan det gøres som vist i koden længere nede på siden.
//TILFØJ PRODUKTVARIATIONER I LISTEVISNING
//FUNKTIONEN, DER LAVES SENERE TILFØJES HOOKET
add_action( 'woocommerce_after_shop_loop_item', 'ew_echo_stock_variations_loop' );
function ew_echo_stock_variations_loop(){
//$product SÆTTES GLOBAL, SÅ DEN ER TILGÆNGELIG INDE I FUNKTIONEN
global $product;
//HVIS PRODUKTET ER VARIABELT
if ( $product->get_type() == 'variable' ) {
//VARIATIONER GEMMES I $variations
$variations = $product->get_available_variations();
//ARRAY TIL AT GEMME VARIATION, DER ER TILGÆNGELIGE
$ew_product_variations = array();
//LOOPER GENNEM HVER VARIATION
foreach ( $variations as $variation ) {
//HVIS DENNE VARIATION ER TILGÆNGELIG
if( $variation[ 'is_in_stock' ] ){
//LOOPER GENNEM VARIATIONENES ATTRIBUTES FOR AT FÅ VARIATIONENS NAVN
foreach ( $variation['attributes'] as $attr_name => $attr_value ){
//VARIATIONENS NAVN TILFØJES TIL $ew_product_variations
$ew_product_variations[] = $attr_value;
}
}
}
//HVIS DER ER TILGÆNGELIGE VARIATIONER
if( $ew_product_variations ) {
//SORTER VARIATIONER
//VIRKER KUN, HVID NUMERISK ELLER ALFABETISK
asort( $ew_product_variations );
//UDSKRIV VARIATIONER MED LINK TIL PRODUKTET
echo '<div class="ew-shop-variation-outer">';
foreach ( $ew_product_variations as $prod_var ) {
echo '<span class="ew-shop-variation">';
echo '<a href="' . get_the_permalink() . '">';
echo $prod_var;
echo '</a>';
echo '</span><!--/.ew-shop-variation-->';
}
echo '</div><!--/.ew-shop-variation-outer-->';
}
}
Læs mere om WooCommerce Hooks på https://businessbloomer.com/woocommerce-visual-hook-guide-archiveshopcat-page/