<?php

add_filter('woocommerce_dropdown_variation_attribute_options_args','woo_select_default_option',10,1);

function woo_select_default_option( $args)
{

    if(count($args['options']) > 0) //Ensure product variation isn't empty
        $args['selected'] = $args['options'][0];
    return $args;
}


add_action( 'woocommerce_variable_add_to_cart', 'bbloomer_update_price_with_variation_price' );
  
function bbloomer_update_price_with_variation_price() {
if(is_product()){
global $product;
$price = $product->get_price_html();
wc_enqueue_js( "
  $(document).on('found_variation', 'form.cart', function( event, variation ) {
  if(variation.price_html) $('.fb-prod-content-one p.price').html(variation.price_html);
  $('.woocommerce-variation-price').hide();
  });
  $(document).on('hide_variation', 'form.cart', function( event, variation ) {
  $('.fb-prod-content-one p.price').html('" . $price . "');
  });
" );
}
}

add_filter('woocommerce_available_variation', function($available_variations, \WC_Product_Variable $variable, \WC_Product_Variation $variation) {
    if (empty($available_variations['price_html'])) {
        $available_variations['price_html'] = '<span class="price">' . $variation->get_price_html() . '</span>';
    }
  
    return $available_variations;
}, 10, 3);

?>
<?php

function add_variation_radio_buttons() {
    ?>
    <script type="text/javascript">
    document.addEventListener( 'DOMContentLoaded', function() {
        var variations_form = document.querySelector( '.fb-woo-single__btn form.variations_form' );
        var data = variations_form.getAttribute( 'data-product_variations' );
        data = JSON.parse( data );

        var selects = document.querySelectorAll( '.fb-woo-single__btn table.variations select' );
        selects.forEach( function( select ) {
            var options = select.querySelectorAll( 'option' );
            options.forEach( function( option ) {
                if( ! option.value ) {
                    return;
                }

                var pricing = '';
                data.forEach( function( row ) {
                    if( row.attributes[select.name] == option.value ) {
                        pricing = row.price_html;
                    }
                } );

                var radio = document.createElement( 'input' );
                radio.type = 'radio';
                radio.name = select.name;
                radio.value = option.value;
                radio.checked = option.selected;
                var label = document.createElement( 'label' );
                label.appendChild( document.createTextNode( ' ' + option.text + ' ' ) );
                var div = document.createElement( 'div' );
                div.classList.add('fb-woo-single-btn-variation');
                div.appendChild( radio );
                div.appendChild( label );

                // Check if variation has stock
                var variationData = data.find(function(row) {
                    return row.attributes[select.name] == option.value;
                });

                // Check if product has only one attribute
                var hasSingleAttribute = Object.keys(variationData.attributes).length === 1;

                if (variationData && !variationData.is_in_stock && hasSingleAttribute) {
                    div.classList.add('disable');
                }

                select.closest( 'td' ).appendChild( div );

                radio.addEventListener( 'click', function( event ) {
                    select.value = radio.value;
                    jQuery( select ).trigger( 'change' );
                } );
            } );

            select.style.display = 'none';
        } );
    } );
    </script>
    <?php
}

add_action( 'woocommerce_variable_add_to_cart', 'add_variation_radio_buttons' );

?>

Insula DE

159 

Není skladem

Hmotnost1 kg
Téma
Jazyky

Recenze

Zatím zde nejsou žádné recenze.

Pouze přihlášení uživatelé, kteří zakoupili tento produkt, mohou přidat hodnocení.

Insula DE

159 

159 

Není skladem