2016-04-28 13 views
2

Ich versuche, den niedrigsten Preis anstelle der Preisspanne auf den Kategorieseiten anzuzeigen und gleichzeitig die Preisspanne auf den einzelnen Produktseiten anzuzeigen.Woocommerce - Niedrigster Preis für Kategorie (Archiv) Nur für Seite

fand ich diese Antwort von Frage jemand anderes:

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; 
} 

Und es funktioniert, aber wenn ich den Code in functions.php setzen, gilt es für den gesamten Standort. Ich möchte nur, dass es auf die Kategorienseiten angewendet wird.

Wenn ich diesen Code verwende, werden auch Artikel mit nur einem Preis ohne Preis angezeigt.

Was kann ich tun?

Hier ist ein Screenshot von dem, was ich meine: Screenshot of current category page

+0

Ich habe meinen Code mit einigen Erklärungen aktualisiert ... Ich hoffe, dieses Mal wird es funktionieren. – LoicTheAztec

+0

Hi @LoicTheAztec, ich kann deine Antwort nicht finden? – Coracle

Antwort

0

Wenn ich habe Sie rechts, dann müssen Sie nur den minimalen Preis angezeigt werden, wenn eine Reihe von Preisen gibt. Sie müssen also den HTML-Code $price nur ändern, wenn der Mindestpreis des Produkts festgelegt ist (wenn es nicht festgelegt ist, hat das Produkt nur einen Preis und es ist keine Änderung erforderlich). Ich habe auch die Überprüfung für eine Kategorieseite hinzugefügt. Hier ist der Code:

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; 
} 
Verwandte Themen