<?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 } ); } ); */ ?>
Birou Clasic
Preț la cerere
Mobilier pe comanda compus din: birou cu rollbox, birou operational, dulapuri depozitare dosare / dulap biblioraft. Mobilier realizat din pal melaminat de 18 mm (25 mm, 36 mm), finisaje – diverse nuante la alegerea Dvs dintr-un catalog de mostre, cant ABS, accesorii mobilier – marca Blum, import Austria si Hafele, import Germania.
Produse similare
Birou pe colț
Preț la cerere
Birou Operațional
Preț la cerere
Birou Office
Preț la cerere
Birou Team
Preț la cerere
Recenzii
Nu există recenzii până acum.