我有一个产品可变的网站。问题是,当我有一个仅含一个价格的可变产品时,可变价格就这样显示两次,而缺少折扣:
情况如何:
它的外观如何:
但是,当产品没有折扣且价格不同时,价格应显示在第一张图片上。
我该怎么做?
答案 0 :(得分:0)
这是我的解决方案:
add_filter('woocommerce_variable_sale_price_html', 'custom_product_price', 10, 2);
add_filter('woocommerce_variable_price_html','custom_product_price', 10, 2 );
function custom_product_price( $price, $product ){
$variation_min_reg_price = $product->get_variation_regular_price('min', true);
$variation_min_sale_price = $product->get_variation_sale_price('min', true);
$variation_min_price = $product->get_variation_price('min');
$variation_max_price = $product->get_variation_price('max');
$regular_price = $product->regular_price;
if ($variation_min_price == $variation_max_price) {
if ($product->is_on_sale() && !empty($variation_min_sale_price)) {
$price = '<del>' . woocommerce_price($variation_min_reg_price) . '</del>
<ins>' . woocommerce_price($variation_min_sale_price) . '</ins>';
} else {
if(!empty($variation_min_reg_price))
$price = woocommerce_price($variation_min_reg_price);
else
$price = woocommerce_price($regular_price);
}
} else {
$price = woocommerce_price($variation_min_price) . ' – ' . woocommerce_price($variation_max_price);
}
return $price;
}