2017-12-08 15 views
1

WooCommerceでは、可変商品に異なる価格の変動がある場合、2つの金額の価格帯が表示されます。たとえば89.00 - 109.00です。可変商品の価格帯をWooCommerceの「From:」+最低価格で置き換えます

"From:"と最低価格のFrom: 89.00(最大価格を削除)のように変更したいと思います。
(「Fra:」とは、私の言葉では、明確にすることを意味します)。このコードは動作しません

// Main Price 
$prices = array($product->get_variation_price('min', true), $product->get_variation_price('max', true)); 
$price = $prices[0] !== $prices[1] ? sprintf(__('Fra: %1$s', 'woocommerce'), wc_price($prices[0])) : wc_price($prices[0]); 

// Sale Price 
$prices = array($product->get_variation_regular_price('min', true), $product->get_variation_regular_price('max', true)); 
sort($prices); 
$saleprice = $prices[0] !== $prices[1] ? sprintf(__('Fra: %1$s', 'woocommerce'), wc_price($prices[0])) : wc_price($prices[0]); 

if ($price !== $saleprice) { 
$price = '<del>' . $saleprice . $product->get_price_suffix() . '</del> <ins>' . $price . $product->get_price_suffix() . '</ins>'; 
} 
return $price; 
} 

:ここ

は、私がしようとしているコードです。追加するたびに何も起こりません。

代わりに、 "差出人:" +分価格を取得するには、何を変更する必要がありますか?

答えて

1

あなたのコードはここ

が、それはあなたの変数の製品のために働くようにする正しい方法です...フックと欠けている機能としてビット不完全です:

add_filter('woocommerce_get_price_html', 'change_variable_products_price_display', 10, 2); 
function change_variable_products_price_display($price, $product) { 

    // Only for variable products type 
    if(! $product->is_type('variable')) return $price; 

    $prices = $product->get_variation_prices(true); 

    if (empty($prices['price'])) 
     return apply_filters('woocommerce_variable_empty_price_html', '', $product); 

    $min_price = current($prices['price']); 
    $max_price = end($prices['price']); 
    $prefix_html = '<span class="price-prefix">' . __('Fra: ') . '</span>'; 

    $prefix = $min_price !== $max_price ? $prefix_html : ''; // HERE the prefix 

    return apply_filters('woocommerce_variable_price_html', $prefix . wc_price($min_price) . $product->get_price_suffix(), $product); 
} 

コードに行きますあなたのアクティブな子供のテーマ(またはテーマ)の、または任意のプラグインファイルのfunction.phpファイル。

テスト済みで動作します。

+0

ああ、それは理にかなっています。それは本当に素晴らしい仕事でした。私はあなたに問題を解決するようにマークします。しかし、1つの質問は、 "Fra"(テキストから)をスタイルすることが可能かどうかです。私の場合、実際の価格よりもずっと小さく、灰色に色あせている。それは私がCSSでそれをすることはできませんので、自己によってIDを持っているように見えません。 – eMikkelsen

+0

もちろん、それをやっていないのは残念です。これによりマークされます。ありがとうございました – eMikkelsen

関連する問題