Безплатна доставка с BoxNow и SameDay

0889 332 169

луксозна пола

pola plush

Сет Кашмир

40,90 € – 97,15 € 40,90 € – 97,15 €

<?php
global $product;

if ( ! $product || ! $product->is_type( 'variable' ) ) {
    return;
}

$variations = $product->get_available_variations();
$sizes = [];

// Collect unique, in‑stock sizes with variation IDs and both raw and clean attribute values
foreach ( $variations as $variation ) {
    if ( isset( $variation['attributes']['attribute_pa_size'] ) && $variation['is_in_stock'] ) {
        // $raw_size might be "size-38" but we want "38"
        $raw_size   = $variation['attributes']['attribute_pa_size'];
        $clean_size = preg_replace('/[^0-9]/', '', $raw_size);
        $variation_id = $variation['variation_id'];
        
        // Only add the first occurrence per size
        if ( ! isset( $sizes[ (int) $clean_size ] ) ) {
            $sizes[ (int) $clean_size ] = [
                'raw_size'     => $raw_size,    // original value (if needed)
                'clean_size'   => $clean_size,  // cleaned value ("38")
                'variation_id' => $variation_id
            ];
        }
    }
}

// Sort sizes numerically ascending
ksort( $sizes );

if ( ! empty( $sizes ) ) {
    $parent_id = $product->get_id();
    ?>
    <div class="product-quick-add" data-product-id="<?php echo esc_attr( $parent_id ); ?>">
        <div class="cfvsw-swatches-container cfvsw-product-container">
            <?php foreach ( $sizes as $data ) : ?>
                <div class="cfvsw-swatches-option cfvsw-label-option select-swatch" 
                     data-variation-id="<?php echo esc_attr( $data['variation_id'] ); ?>" 
                     data-size="<?php echo esc_attr( $data['clean_size'] ); ?>" 
                     style="min-width:24px; min-height:24px; border-radius:3px; cursor:pointer;">
                    <div class="cfvsw-swatch-inner"><?php echo esc_html( $data['clean_size'] ); ?></div>
                </div>
            <?php endforeach; ?>
        </div>
        <input type="hidden" class="selected-variation-id" value="">
        <input type="hidden" class="selected-size" value="">
        
    </div>
    <?php
} else {
    echo '<div class="no-sizes-msg"></div>';
}
?>
38
40
42
44
46
Изберете своя размер This product has multiple variants. The options may be chosen on the product page