WooCommerce: Zeigt NUR On-Sale-Produkte im Shop an

8

Ich muss eine Produktarchivseite erstellen (normalerweise die Seite Shop in WooCommerce ), aber NUR die ON SALE Produkte . Grundsätzlich sollte das gleiche Template-Layout wie in archive-product.php verwendet werden. Es wird einen Link im Hauptmenü geben, der zu dieser Seite führt. Wie gehe ich hier vor?

AKTUALISIEREN

Ich habe es geschafft, die ON SALE Produkte herauszufiltern, wobei der Code unterhalb der Zeile if ( have_posts() ) : ... platziert wurde.

%Vor%

Der Code befindet sich in einer Kopie von archive-product.php , die ich archive-product_sale.php genannt und als Seitenvorlage erstellt habe.

Dies funktioniert jedoch nur für Einfache Produkte und ich muss es sowohl für Einfache Produkte als auch für Variable Produkte verwenden. p>     

Giraldi 08.01.2014, 08:16
quelle

4 Antworten

9

Ich habe es geschafft, die ON SALE Produkte herauszufiltern, mit dem Code direkt über der if ( have_posts() ) : -Zeile ...

%Vor%

Der Code befindet sich in einer Kopie von archive-product.php , die ich in archive-product_sale.php umbenannt und als Seitenvorlage erstellt habe.

    
Giraldi 12.01.2014, 10:16
quelle
11

@mirus 'Antwort bezüglich des Shortcodes gab mir die Idee herauszufinden, wie WooCommerce nur die On-Sale-Artikel abfragt. Anscheinend hat WooCommerce eine wc_get_product_ids_on_sale() -Funktion, die die IDs der verkauften Artikel zurückgibt. Dann können wir die Abfrage einfach mit dem Parameter post__in anpassen, um nur diese spezifischen Elemente zurückzugeben.

WooCommerce hat einen woocommerce_product_query -Hook in der class-wc-query.php -Klasse, der es uns ermöglicht, die Abfrage zu ändern, bevor sie ausgeführt wird .... sie wird auf pre_get_posts ausgeführt, was der übliche Platz zum Ändern der Abfrage ist. Wenn Sie Woo's Hook verwenden, bedeutet das, dass Sie die Mehrheit der bedingten Logik behandeln, wenn diese Abfrage geändert werden soll.

%Vor%     
helgatheviking 17.01.2015 23:25
quelle
4

@gmaggio mit query_posts () wird Ihre Website brechen . Verwenden Sie pre_get_posts

%Vor%     
quelle
0

Erstellen Sie eine neue Seite mit dem Shortcode [sale_products per_page="12"]

Liste der verfügbaren Shortcodes und ihrer Parameter finden Sie hier: Ссылка

    
mirus 08.01.2014 12:38
quelle