显示 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;
  }
?>

但它只显示最低可变价格而不是当前选择的变体价格。

如何显示活动变体的当前价格?

原文由 St Pavel 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 355
1 个回答

所以,你可以只修改 \your-theme\woocommerce\single-product\sale-flash.php 文件

或者,您也可以使用过滤器。顺便说一句,有更简单的解决方案:

 if ($product->is_type( 'simple' )) {
        $sale_price     =  $product->get_sale_price();
        $regular_price  =  $product->get_regular_price();
    }
    elseif($product->is_type('variable')){
        $sale_price     =  $product->get_variation_sale_price( 'min', true );
        $regular_price  =  $product->get_variation_regular_price( 'max', true );
    }

    $discount = round (($sale_price / $regular_price -1 ) * 100);
}

或者你可以复制这个要点 https://gist.github.com/sholex/4064fc2b656c0857a78228cf5324b370

原文由 Alex Sholom 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏