2017-12-18 12 views
1

私は製品のリストを持っており、可変商品に価格の範囲を表示する際に問題があります。Woocommerceで標準価格または変動価格の範囲を表示

価格が通常の価格であることが分かるように、すべてが機能します。

<?php 
if (isset($ebookstore_theme_option['woo-list-price']) && 
    $ebookstore_theme_option['woo-list-price'] == 'enable') { 
    $ebookstore_woo .= '<strong class="amount">'.esc_attr($currency).''.$price_sale.'</strong>'; 
} 

可変範囲の価格を表示する方法についての任意のアイデア:製品は、変数価格を持っている場合にもかかわらず表示された価格はまあ、価格を表示するためのコードは、この0€

ですか? WooCommerce内の変数の製品については

答えて

1

次のものが必要です。

  • を最小値と最大値の価格を取得するには、変数製品タイプ
  • を対象とします。

したがって、製品オブジェクトのインスタンスを取得する必要があります。それはあなたがintead使用する動作しない場合は

global $product; 

global $post; 
$product = wc_get_product($post->ID); 

次を使用します。この時点から今:

<?php 
global $product; 

if (isset($ebookstore_theme_option['woo-list-price']) && $ebookstore_theme_option['woo-list-price'] == 'enable'){ 

    // For all product types that are not "variable products" 
    if(! $product->is_type('variable')){ 
     $ebookstore_woo .= '<strong class="amount">'.esc_attr($currency).''.$price_sale.'</strong>'; 
    } 
    // For variable products  
    else { 
     $min_price = $product->get_variation_price('min'); 
     $max_price = $product->get_variation_price('max'); 

     $ebookstore_woo .= '<strong class="amount">'.esc_attr($currency).''.$min_price.' - '.esc_attr($currency).''.$max_price.'</strong>'; 
    } 
} 

一般的にはあなたがそれを得ることができますご覧のとおり、私は、WC_Product_Variable methods


は、あなたが知らないかもしれないが、woocommerceは、として、いくつかの書式価格の機能を持っています。

  • wc_price($price);
  • wc_format_price_range($from, $to);
  • wc_format_sale_price($regular_price, $sale_price);

彼らはすべての通貨が含まれます

関連する問題