WooCommerce: NUR Anzeige-auf-Verkauf-Produkte-im-Shop
Brauche ich zum erstellen einer Produkte Archiv-Seite (in der Regel die Shop Seite in WooCommerce) aber zeigt NUR die zum VERKAUF Produkte. Im Grunde ist es die gleiche - template-layout wie in der archive-product.php
. Es wird ein link im Hauptmenü direkt auf dieser Seite. Wie mache ich das?
UPDATE
Habe ich es geschafft heraus zu filtern, die zum VERKAUF Produkte mit dem code unten platziert, nur über die if ( have_posts() ) :
Linie...
$args = array(
'post_type' => 'product',
'order' => 'ASC',
'paged' => $paged,
'meta_query' => array(
array(
'key' => '_sale_price',
'value' => 0,
'compare' => '>',
'type' => 'numeric'
)
)
);
query_posts( $args );
Den code in ein kopieren von archive-product.php
die ich mit dem Namen archive-product_sale.php
gemacht und als Seite Vorlage.
Allerdings funktioniert dies nur für Einfache Produkte Typ und ich brauche es, um die Arbeit für beide Einfach Produkte und Variable Produkte geben.
Du musst angemeldet sein, um einen Kommentar abzugeben.
@mirus' Antwort bezüglich der shortcode hat mich auf die Idee zu schauen, wie WooCommerce ist die Abfrage nur auf die sale-Artikel. Offenbar WooCommerce hat eine
wc_get_product_ids_on_sale()
Funktion zurückgeben, die IDs der auf sale-Artikel. Dann können wir leicht passen Sie die Abfrage mithilfe derpost__in
parameter, um nur diese Elemente.WooCommerce hat eine
woocommerce_product_query
Haken in derclass-wc-query.php
Klasse, ermöglicht uns, die Abfrage zu ändern, bevor es ausgeführt wird.... es läuft aufpre_get_posts
das ist die übliche Ort für die Abfrage zu ändern. Mit Woos Haken bedeutet nur, Sie lassen Sie behandeln die Mehrheit der bedingte Logik über, wenn diese Abfrage änderung angewendet werden soll.Habe ich es geschafft heraus zu filtern, die zum VERKAUF Produkte mit dem code unten legt Sie einfach über die
if ( have_posts() ) :
Linie...Den code in einer Kopie der
archive-product.php
die ich umbenanntarchive-product_sale.php
gemacht und als Seite Vorlage.'paged' => $paged,
wie @Giraldi hat Hinzugefügt, dass in seinem edit. Ansonsten ist die Paginierung wird nicht funktionieren!@gmaggio mit query_posts() brechen Ihrer Website.
Verwenden pre_get_posts
Erstellen Sie eine neue Seite mit shortcode
[sale_products per_page="12"]
Liste der verfügbaren Kurzwahlnummern und Ihrer Parameter hier: http://docs.woothemes.com/document/woocommerce-shortcodes/
archive-product.php
vollständig mit dem Ergebnis der Zählung, Sortierung, filter, Paginierung, etc.