<?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
} );
} );
*/
?>Mobilier bucătărie Soft la comandă în nuanțe Titan și Galben, cu sticlă sablată, glisiere Blum, pistoane cu gaz și design modern. Personalizabilă pentru orice spațiu!
📞 Sună acum și comandă sau dă click pe Cere oferta și completează formularul! Transformă-ți bucătăria într-un spațiu organizat, fără efort!
Mobilier bucătărie Soft îmbină eleganța culorilor moderne cu funcționalitatea unui spațiu de lucru bine organizat. Realizat din PAL melaminat de 18 mm în două nuanțe – Titan și Galben solar – acest model aduce un aer vesel și sofisticat în orice locuință. Bucătăria este alcătuită din corpuri de jos cu sertare și uși clasice, corpuri suspendate cu geam sablat încadrat în rame din aluminiu, și zone deschise cu rafturi pentru acces ușor la obiectele frecvent utilizate.
🔹 Accesorii și detalii funcționale:
Glisiere Blum pentru sertare – extensibilitate completă și închidere silențioasă
Balamale fiabile pentru ușile clasice
Pistoane cu gaz pentru deschiderea verticală a corpurilor suspendate
Mânere din aluminiu rezistente și ușor de utilizat
Sticlă sablată cu ramă decorativă pentru un plus de lumină și stil
🧩 Cum alegi feroneria?
Alege feronerie de calitate pentru confort și durabilitate în utilizarea zilnică. Blum Austria este ideală pentru sistemele de glisare și balamale cu amortizare, iar SISCO Italia oferă opțiuni excelente pentru mecanisme de ridicare și accesorii de depozitare (coșuri Jolly, colțare retractabile etc.).
📏 Cum iei măsurătorile?
Măsoară lungimea pereților disponibili.
Notează înălțimea de la podea la tavan și eventualele obstacole (ferestre, coloane, instalații).
Verifică adâncimea maximă pentru corpurile de jos și spațiul pentru ușile suspendate.
📝 Cum comanzi?
Trimite-ne măsurătorile tale și o fotografie a spațiului disponibil. Te ajutăm să alegi configurația ideală și îți oferim o randare 3D gratuită. Proiectul se personalizează complet, iar livrarea și montajul sunt asigurate de echipa noastră.
🎯 Transformă-ți bucătăria într-un spațiu modern, practic și plin de viață!
📞 Sună acum sau dă click pe Cere oferta și completează formularul!
Reviews
There are no reviews yet.