<?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( 'form.variations_form' ); var data = variations_form.getAttribute( 'data-product_variations' ); data = JSON.parse( data ); var selects = document.querySelectorAll( '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' ); # SOURCE: https://codedcommerce.com/woo/change-variation-drop-downs-to-radio-buttons/ /* add_action( 'woocommerce_variable_add_to_cart', function() { add_action( 'wp_print_footer_scripts', function() { ?> <script type="text/javascript"> // DOM Loaded document.addEventListener( 'DOMContentLoaded', function() { // Get Variation Pricing Data var variations_form = document.querySelector( 'form.variations_form' ); var data = variations_form.getAttribute( 'data-product_variations' ); data = JSON.parse( data ); // Loop Drop Downs document.querySelectorAll( 'table.variations select' ) .forEach( function( select ) { // Loop Drop Down Options select.querySelectorAll( 'option' ) .forEach( function( option ) { // Skip Empty if( ! option.value ) { return; } // Get Pricing For This Option var pricing = ''; data.forEach( function( row ) { if( row.attributes[select.name] == option.value ) { pricing = row.price_html; } } ); // Create Radio 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 ); // Insert Radio select.closest( 'td' ).appendChild( div ); // Handle Clicking radio.addEventListener( 'click', function( event ) { select.value = radio.value; jQuery( select ).trigger( 'change' ); } ); } ); // End Drop Down Options Loop // Hide Drop Down select.style.display = 'none'; } ); // End Drop Downs Loop } ); // End Document Loaded </script> <?php } ); } ); */ ?>
Dormitor Panda
Preț la cerere
Pat tapitat pentru dormitor cu doua noptiere – pat realizat din structura de pal melaminat imbracat in tapiterie textila – finisaj negru. Noptiera din pal melaminat cu cant Abs de 2mm respectiv 0,4 mm cu doua sertare si o usa – dimensiuni 70x35x35cm. Accesorii de calitate: glisiere si balamale Austria sau Italia. manere de aluminiu.
Produse similare
Dormitor Lovin
Preț la cerere
Dormitor Simply
Preț la cerere
Dormitor Pat tapițat
Preț la cerere
Dormitor Class
Preț la cerere
Recenzii
Nu există recenzii până acum.