我想显示变化价格(选择变化后)而不是实际价格范围(在我的情况下Cena: 1 000.OO€ - 1 300€ bez DPH
必须是唯一的1 300.00 € s DPH
)。
我只使用 WC 3.2.6 和 3.2.6 以及店面主题和 CSS 自定义。
我想显示变化价格(选择变化后)而不是实际价格范围(在我的情况下Cena: 1 000.OO€ - 1 300€ bez DPH
必须是唯一的1 300.00 € s DPH
)。
我只使用 WC 3.2.6 和 3.2.6 以及店面主题和 CSS 自定义。
我找到简单的ctrl + v 到你的functions.php的解决方案
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 10);
add_action('woocommerce_before_single_product', 'check_if_variable_first');
function check_if_variable_first()
{
if (is_product()) {
global $post;
$product = wc_get_product($post->ID);
if ($product->is_type('variable')) {
// removing the price of variable products
// Change location of
add_action('woocommerce_single_product_summary', 'custom_wc_template_single_price', 20);
function custom_wc_template_single_price()
{
global $product;
// Variable product only
if ($product->is_type('variable')):
// Main Price
$prices = array($product->get_variation_price('min', true), $product->get_variation_price('max', true));
$price = $prices[0] !== $prices[1] ? sprintf(__('od %1$s <small>s DPH</small>', 'woocommerce'), wc_price($prices[0])) : wc_price($prices[0]);
// Sale Price
$prices = array($product->get_variation_regular_price('min', true), $product->get_variation_regular_price('max', true));
sort($prices);
$saleprice = $prices[0] !== $prices[1] ? sprintf(__('od %1$s', 'woocommerce'), wc_price($prices[0])) : wc_price($prices[0]);
if ($price !== $saleprice && $product->is_on_sale()) {
$price = '<del>' . $saleprice . $product->get_price_suffix() . '</del> <ins>' . $price . $product->get_price_suffix() . '</ins>';
}
?>
<style>
div.woocommerce-variation-price,
div.woocommerce-variation-availability,
div.hidden-variable-price {
height: 0px !important;
overflow: hidden;
position: relative;
line-height: 0px !important;
font-size: 0% !important;
}
</style>
<script>
jQuery(document).ready(function ($) {
$('select').blur(function () {
if ('' != $('input.variation_id').val()) {
$('p.price').html($('div.woocommerce-variation-price > span.price').html()).append('<p class="availability">' + $('div.woocommerce-variation-availability').html() + '</p>');
console.log($('input.variation_id').val());
} else {
$('p.price').html($('div.hidden-variable-price').html());
if ($('p.availability'))
$('p.availability').remove();
console.log('NULL');
}
});
});
</script>
<?php
echo '<p class="price">' . $price . '</p><div class="hidden-variable-price" >' . $price . '</div>';
endif;
}
}
}
}
这是我的functions.php代码
<?php
function iconic_variable_price_format( $price, $product ) {
$prefix = sprintf('%s ', __('Od', 'iconic'));
$min_price_regular = $product->get_variation_regular_price( 'min', true );
$min_price_sale = $product->get_variation_sale_price( 'min', true );
$max_price = $product->get_variation_price( 'max', true );
$min_price = $product->get_variation_price( 'min', true );
$price = ( $min_price_sale == $min_price_regular ) ?
wc_price( $min_price_regular ) :
'<del>' . wc_price( $min_price_regular ) . '</del>' . '<ins>' . wc_price( $min_price_sale ) . '</ins>';
return ( $min_price == $max_price ) ?
$price :
sprintf('%s%s', $prefix, $price);
}
add_filter( 'woocommerce_variable_sale_price_html','iconic_variable_price_format', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'iconic_variable_price_format', 10, 2 );?>