2016-04-28 67 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; 
} 
相關問題