WooCommerce默认差异显示价格 [英] WooCommerce default variation display price

查看:17
本文介绍了WooCommerce默认差异显示价格的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在这里更改一些内容,以便在我的商店页面上显示默认差异价格:

数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">
<div class="deal-part2-details">
<?php
if($product->get_type() == "simple"){
?>
    <h5><?php echo get_field('network_price_text',$p_id); ?> <?php echo $currency;  echo $product->regular_price; ?>pm</h5>
    <h5 class="our-price"><?php echo get_field('our_price_text',$p_id); ?> : <?php echo $currency; echo $product->sale_price; ?>pm</h5>
    <h6><?php echo get_field('upfront_cost',$p_id); ?> <?php echo get_field('upfront_cost_text',$p_id); ?></h6>
        <?php
            }else{
            $product_variations = $product->get_available_variations();
            $variation_product_id = $product_variations [0]['variation_id'];
            $variation_product = new WC_Product_Variation( $variation_product_id );
                                                    
        ?>
    <h5 class="network-price"><?php echo get_field('network_price_text',$p_id); ?> <?php echo $currency;  echo $variation_product->regular_price; ?>pm</h5>
    <h5 class="our-price"><?php echo get_field('our_price_text',$p_id); ?> : <?php echo $currency; echo $variation_product->sale_price; ?>pm</h5>
                                                    
<!--<?php if ( $price_html = $product->get_price_html() ) : ?>
<span class="price"><?php echo $price_html; ?></span>
<?php endif; ?> -->
                                                    
<h6><?php echo get_field('upfront_cost',$p_id); ?><?php echo get_field('upfront_cost_text',$p_id); ?></h6>
<?php
                }
        ?>
</div>

您能帮我吗?

推荐答案

解决方案

第一步: 首先,您可以编辑变量产品和选择变量值。哪种变种 您希望在产品页面上显示默认表单值请参阅屏幕截图Select Default value screenshot

步骤:2 然后转到放在代码下面的活动主题或子主题functions.php文件。

//woo_default_price_variation_price

add_filter('woocommerce_variable_price_html', 'woo_default_price_variation_price', 10, 2);

function woo_default_price_variation_price( $price, $product ) {
foreach($product->get_available_variations() as $pav){
    $def=true;
    foreach($product->get_variation_default_attributes() as $defkey=>$defval){
       if($pav['attributes']['attribute_'.$defkey]!=$defval){
          $def=false; 
    }
}
      if($def){
          $price = $pav['display_price']; 
      }
  } 
  return woocommerce_price($price);
}

100%正常工作

谢谢

这篇关于WooCommerce默认差异显示价格的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆