获取Woocommerce中可变产品的正常价格

时间:2018-10-23 16:49:56

标签: php wordpress woocommerce product price

我找到了很多答案,但没有一个适用于可变产品。我想同时显示可变产品的销售价格和正常价格。

global $product;
if( $product->is_on_sale() ) {
    $sale_price = $product->get_sale_price();
}
$regular_price = $product->get_regular_price();

这是有效的,但前提是它是正常产品。我认为即使产品有所变化也一定有可能,但我没有找到。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

对于可变产品的价格,您需要使用特定于WC_Product_Variable类的不同方法。可变产品由多个产品变体组成,因此可变产品的价格就是其产品变体价格。

您可以获取可变产品的最低或最高价格,例如:

global $product;

// Regular price min and max
$min_regular_price = $product->get_variation_regular_price( 'min' );
$max_regular_price = $product->get_variation_regular_price( 'max' );

// Sale price min and max
$min_sale_price = $product->get_variation_sale_price( 'min' );
$max_sale_price = $product->get_variation_sale_price( 'max' );

// The active price min and max
$min_price = $product->get_variation_price( 'min' );
$max_price = $product->get_variation_price( 'max' );

对于可变产品,如果其中一种产品变体正在销售中,则方法is_on_sale() 将返回true ...

您还可以使用方法get_variation_prices(),该方法将为您提供可变产品中设置的所有产品变化价格(有效价格,常规价格和销售价格)的多维数组。