Woocommerce在折扣上只显示可变产品的一个价格

时间:2017-04-07 13:44:27

标签: php wordpress woocommerce product hook-woocommerce

这是我的WooCommerce网站:sweetworldcandy.com

问题是,在可变产品价格中,最小和最大 价值显示我想要的是如果产品没有出售显示最低价值,如果它在销售中显示最低价值和最低价格的通过添加斜线作为删除标签

我在下面分享了这三张图片以供参考:

enter image description here if not on sale enter image description here

1 个答案:

答案 0 :(得分:8)

下面的代码应该符合您的期望:

add_filter('woocommerce_variable_sale_price_html', 'shop_variable_product_price', 10, 2);
add_filter('woocommerce_variable_price_html','shop_variable_product_price', 10, 2 );
function shop_variable_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);
    if ( $product->is_on_sale() && !empty($variation_min_sale_price)){
        if ( !empty($variation_min_sale_price) )
            $price = '<del class="strike">' .  woocommerce_price($variation_min_reg_price) . '</del>
        <ins class="highlight">' .  woocommerce_price($variation_min_sale_price) . '</ins>';
    } else {
        if(!empty($variation_min_reg_price))
            $price = '<ins class="highlight">'.woocommerce_price( $variation_min_reg_price ).'</ins>';
        else
            $price = '<ins class="highlight">'.woocommerce_price( $product->regular_price ).'</ins>';
    }
    return $price;
}

代码进入活动子主题(或主题)的function.php文件或任何插件文件中。

此代码经过测试并有效。