仅在选择变化时显示价格,并以相对于常规价格的百分比折扣

时间:2017-11-16 11:51:39

标签: php wordpress woocommerce product price

我有这个问题。让我展示图片,以便我能更好地解释。

选择了变体产品,但由于所有变化都具有相同的价格,因此底部不显示价格: Variation product selected but because all the variations have the same price the price do not show in the bottom.

选择变体产品,因为它们在顶部显示不同的PROMO价格,选择后的常规促销价格: Variation product selected, because they have different PROMO prices they show on top and the regular-promo price after selection

我需要的是,只有在选择了变量后,价格才会像第二张图片一样显示在底部,并计算促销变化价格和常规变化价格之间的折扣。在这两种情况下我需要相同的行为。

我经常搜索,但没有一件事能解决了这个问题。这里有一些非常接近的答案:

1 个答案:

答案 0 :(得分:1)

经过一些搜索,有一个简单的专用过滤器钩子 woocommerce_show_variation_price ,它将完全符合您的期望:

add_filter( 'woocommerce_show_variation_price', 'filter_show_variation_price', 10, 3 );
function filter_show_variation_price( $condition, $product, $variation ){
    if( $variation->get_price() === "" ) return false;
    else return true;
}

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。

经过测试和工作......即使所有变体价格相同,也会显示所选的变体价格......