<?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
} );
} );
*/
?>Ușile separație partiție sunt soluția ideală pentru a crea spații elegante, funcționale și moderne în orice locuință sau birou. Structura din aluminiu negru și sticla transparentă conferă rafinament și claritate vizuală.
📞 Sună acum și comandă sau dă click pe Cere oferta și completează formularul! Personalizează-ți spațiul cu Uși separație partiție – partiționare elegantă și flexibilă.
Uși separație partiție – soluție modernă pentru compartimentări elegante
Indiferent dacă vrei să delimitezi o zonă de dressing, un birou sau un spațiu de locuit, ușile separație partiție sunt alegerea ideală. Cu o estetică industrială contemporană, acestea combină sticla securizată cu un cadru solid din aluminiu vopsit negru, oferind o senzație de spațiu și lumină.
✔ Sisteme de glisare fiabile și silențioase
✔ Posibilitate de montaj în deschidere mare sau perete
✔ Sticlă clară sau sablată, în funcție de nivelul de intimitate dorit
✔ Ideal pentru compartimentări între dormitor și dressing, bucătărie și living, sau în birouri open-space
Designul cu profile verticale și orizontale oferă un efect de grilaj modern, extrem de căutat în amenajările interioare actuale. Datorită sticlei, spațiile nu sunt închise vizual, ceea ce menține senzația de deschidere. În același timp, zgomotul este atenuat și funcționalitatea este maximizată.
📞 Sună acum și comandă sau dă click pe Cere oferta și completează formularul! Personalizează-ți spațiul cu Uși separație partiție – partiționare elegantă și flexibilă.
Reviews
There are no reviews yet.