显示woocommerce变量产品价格
问题描述:
如何在单个产品页面上显示当前活动变体的woocommerce变量价格? 我使用的代码:显示woocommerce变量产品价格
<?php
global $product;
if ($product->is_type('simple')) { ?>
<p class="price"><?php echo $product->get_price_html(); ?></p>
<?php } ?>
<?php
if($product->product_type=='variable') {
$available_variations = $product->get_available_variations();
$variation_id=$available_variations[0]['variation_id']; // Getting the variable id of just the 1st product. You can loop $available_variations to get info about each variation.
$variable_product1= new WC_Product_Variation($variation_id);
$regular_price = $variable_product1 ->regular_price;
$sales_price = $variable_product1 ->sale_price;
echo $regular_price+$sales_price;
}
?>
但只显示最低的价格变化,而不是当前所选择的变化的价格。 任何想法如何显示活动变化的当前价格?
答
<?php
global $product;
if ($product->is_type('simple')) { ?>
<p class="price"><?php echo $product->get_price_html(); ?></p>
<?php } ?>
<?php
if($product->product_type=='variable') {
$available_variations = $product->get_available_variations();
$count = count($available_variations)-1;
$variation_id=$available_variations[$count]['variation_id']; // Getting the variable id of just the 1st product. You can loop $available_variations to get info about each variation.
$variable_product1= new WC_Product_Variation($variation_id);
$regular_price = $variable_product1 ->regular_price;
$sales_price = $variable_product1 ->sale_price;
echo $regular_price+$sales_price;
}
?>
试试这个。这可能会帮助你。
答
<?php
global $product;
if ($product->is_type('simple')) { ?>
<p class="price"><?php echo $product->get_price_html(); ?></p>
<?php } ?>
<?php
if($product->product_type=='variable') {
$available_variations = $product->get_available_variations();
foreach($available_variations as $key=>$val){
if(trim($val['variation_id'])==**"your selected variant id"**){
$variation_id=$available_variations[$key]['variation_id']; // Getting the variable id of just the 1st product. You can loop $available_variations to get info about each variation.
}
}
$variable_product1= new WC_Product_Variation($variation_id);
$regular_price = $variable_product1 ->regular_price;
$sales_price = $variable_product1 ->sale_price;
echo $regular_price+$sales_price;
}
?>
+0
可能这可能会帮助您获得选定的变体ID '$ variable_product1 = new WC_Product_Variation():: get_variation_id();' –
感谢您的回答,但是这个显示了变化的最高价格。如果我切换到另一个变化,它仍然显示相同的价格:( –
例如有2个变化:第一个成本7美元,第二个14美元。我的代码总是显示最低的价格,而你的 - 最高的,我需要改变动态价格:如果我选择第一种变体,则显示价格为7美元,如果我选择第二种 - 14美元 –
您是否有该选定变体的唯一编号? –