仅在Woocommerce存档页面上显示可变产品折扣率

时间:2018-10-17 19:28:18

标签: php wordpress woocommerce percentage discount

我想在归档页面中显示可变产品折扣的百分比。使用下面的代码,我既可以得到可变产品的折扣%,也可以得到简单产品的折扣%。我只能对可变产品而不是简单产品这样做吗?我意识到这可能只是代码中的一个简单调整,但我无法弄清楚,因为在PHP方面我是个白痴。

String[] parts = s.split("\\D+");    //s is string containing integers
int[] a;
a = new int[parts.length];
for(int i=0; i<parts.length; i++){
a[i]= Integer.parseInt(parts[i]);
System.out.println(a[i]);
} 

1 个答案:

答案 0 :(得分:1)

要在存档页面上仅显示可变产品的销售百分比,请尝试以下操作:

add_action( 'woocommerce_after_shop_loop_item', 'loop_variable_product_sale_percentage', 25 );
function loop_variable_product_sale_percentage() {
    global $product;

    if ( $product->is_on_sale() && $product->is_type( 'variable' ) ) {
        $max_percentage = 0;

        foreach ( $product->get_children() as $child_id ) {
            $variation = wc_get_product( $child_id );
            $percentage = 0;

            $price = $variation->get_regular_price();
            $sale = $variation->get_sale_price();

            if ( $price != 0 && ! empty( $sale ) ) {
                $percentage = ( $price - $sale ) / $price * 100;
            }
            if ( $percentage > $max_percentage ) {
                $max_percentage = $percentage;
            }
        }
        echo '<div class="saved-sale">-' . round($max_percentage) . '%</div>';
    }
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。