<?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 } ); } ); */ ?>
Living Wood
Preț la cerere
Cand am creat ansamblul de mobilier pentru living 011 ne-am propus sa depasim toate asteptarile. Am folosit cele mai bune materiale si accesorii in doemniul mobilierului pe comanda, MDF, geamuri, iluminare, accesorii ale marcilor cu renume international. Intra in lumea calitatii superioare si a design-ului perfect cu Mobila Interior .ro. Te asteptam.
Produse similare
Living la comandă Round
Preț la cerere
Living la comandă Grand
Preț la cerere
Living Pro
Preț la cerere
Living Cosy
Preț la cerere
Recenzii
Nu există recenzii până acum.