2016-04-28 69 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,它适用于整个网站。我只希望它适用于类别页面。

此外,当我使用此代码时,只有一个价格的商品最终没有显示价格。

我该怎么办?

这里是我的意思截图: 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; 
} 
相关问题