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

Get the regular price of variable product in Woocommerce

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

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

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

感谢任何帮助

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

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

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() 将 return 为真 如果其中一个产品变体正在销售……

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