2016-04-28 9 views
2

カテゴリページで価格帯の代わりに最低価格を表示しようとしていますが、個々の商品ページで価格帯を引き続き表示しようとしています。Woocommerce - カテゴリー(アーカイブ)ページで最安値を表示

私は誰か他の人の質問からこの答えを見つけました:

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

function custom_variation_price($price, $product) { 

    $price = ''; 

    if (!$product->min_variation_price || $product->min_variation_price !== $product->max_variation_price) { 
     $price .= '<span class="from">' . _x('From', 'min_price', 'woocommerce') . ' </span>'; 
     $price .= woocommerce_price($product->get_price()); 
    } 

    return $price; 
} 

そして、それは動作しますが、私はfunctions.phpでコードを入れたときに、それはサイト全体に適用されます。私はそれをカテゴリーページに適用したいだけです。

また、このコードを使用すると、価格が1つしかないアイテムは価格が表示されずに終了します。

どうすればよいですか?

は、ここで私が何を意味するかのスクリーンショットです: Screenshot of current category page

+0

私はいくつかの説明で私のコードを更新しました...私はこの時間がうまくいくことを願っています。 – LoicTheAztec

+0

こんにちは@LoicTheAztec、私はあなたの答えを見つけることができないようですか? – Coracle

答えて

0

私はあなたが正しい、あなたは単に価格の範囲がありますいつでも最小限の価格を表示する必要がなった場合。したがって、基本的には、製品の最小価格が設定されている場合にのみ$priceのHTMLを変更する必要があります(設定されていない場合、製品には単価があり、変更は必要ありません)。カテゴリページかどうかのチェックも含めました。コードは次のとおりです:

add_filter('woocommerce_variable_price_html', 'custom_variation_price', 10, 2); 
function custom_variation_price($price, $product) { 
    if (! empty($product->min_variation_price) && is_product_category()) { 
     $price = '<span class="from">' . _x('From', 'min_price', 'woocommerce') . ' </span>'; 
     $price .= woocommerce_price($product->get_price()); 
    } 

    return $price; 
} 
関連する問題