首页 文章

Woocommerce显示价格不变的产品

提问于
浏览
0

我商店的价格显示含税,我也使用后缀显示不含税的价格 . 但是变量产品存在问题......商店只显示包含税的价格(以及促销时的旧价格)但不显示不含税的价格 . 两种可变产品的价格是相同的 . 我试着使用这段代码:

https://tomjesch.com/display-woocommerce-products-with-and-without-tax/

但它不能正常工作 - 它显示价格,但不会对woocommerce管理面板中的任何价格变化做出反应 . 因此,只有在添加新产品时才能正常工作 .

提前致谢...

My code:

function edit_price_display() {
  $product         = WC_Product( get_the_ID() );
  $regular_price   = $product ->regular_price;
  $price           = $product->price;

  $price_incl_tax  = $price + round( $price * ( 23 / 100 ), 2 ); 
  $price_incl_tax  = number_format( $price_incl_tax, 2, ",", "" ); 
  $price           = number_format( $price, 2, ",", "" ); 

  $display_price   = '<ins><span class="woocommerce-Price-amount amount">';
  $display_price  .= ' '.$price_incl_tax .'<span class="woocommerce-Price-currencySymbol">&nbsp;zł</span>';
  $display_price  .= '</span></ins>&nbsp;';
  $display_price  .= '<small class="woocommerce-price-suffix">(netto: <span class="woocommerce-Price-amount amount">'.$price .'&nbsp;<span class="woocommerce-Price-currencySymbol">zł</span></span>)</small>';

  $display_price .= '';

  $display_regular_price ='<del><span class="woocommerce-Price-amount amount">'.$regular_price .'<span class="woocommerce-Price-currencySymbol">&nbsp;zł</span></span></del>';


  if($product->is_on_sale()) {
    echo $display_regular_price;    
  }
  echo $display_price;
}
add_filter('woocommerce_variable_price_html', 'edit_price_display');

1 回答

  • 1

    请记住Woocommerce开发人员对该功能的评论:https://github.com/woocommerce/woocommerce/issues/14839

    但是如果你需要达到这样的结果,你可以这样做:

    add_filter( 'woocommerce_get_price_html', 'my_price_prefix_suffix', 100, 2 );
    
    function my_price_prefix_suffix( $price, $product ){
        // To add suffix, go to /wp-admin/admin.php?page=wc-settings&tab=tax
        if($product->is_type( 'variable' ) && $product->is_in_stock()){
            $price =  $price . '('.wc_price($product->get_variation_regular_price()* 1.23).' z Vat)';
        }
        return apply_filters( 'woocommerce_get_price', $price );
    }
    

    代码经过测试,按预期工作 .

相关问题