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

maa*_*iaa 4 php wordpress product woocommerce price

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

global $product;
if( $product->is_on_sale() ) {
    $sale_price = $product->get_sale_price();
}
$regular_price = $product->get_regular_price();
Run Code Online (Sandbox Code Playgroud)

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

任何帮助表示赞赏

Loi*_*tec 13

对于可变产品的价格,您需要使用特定于WC_Product_VariableClass 的不同方法。一个可变产品由多个产品变体组成,所以一个可变产品的价格就是它的产品变体价格。

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

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' );
Run Code Online (Sandbox Code Playgroud)

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

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