Snippets · WooCommerce
Ausverkaufte Produkte ans Ende sortieren
Kategorien, die mit nicht lieferbaren Artikeln beginnen, verschenken Umsatz. Dieses Snippet sortiert ausverkaufte Produkte im Shop, in Kategorien und Schlagwörtern ans Ende – die gewählte Sortierung bleibt sonst erhalten.
Worum es geht
Ausverkaufte Artikel ganz auszublenden kostet Suchmaschinen-Sichtbarkeit. Ganz vorn stehen sollen sie aber auch nicht.
So setzen Sie es ein
- Code einfügen und speichern.
- Eine Kategorie mit ausverkauften Artikeln aufrufen: Lieferbare stehen vorn, ausverkaufte am Ende.
- Die Sortierauswahl des Kunden (Preis, Neuheit, Beliebtheit) gilt weiter innerhalb beider Gruppen.
Was das Snippet nicht kann
- Wirkt nicht in Shortcodes oder Blöcken mit eigener Produktabfrage.
- Lieferbar auf Rückstand zählt als lieferbar.
- Bei sehr großen Katalogen den Seiten-Cache nach dem Einbau leeren.
Vor dem Einbau
Testen Sie Snippets zuerst in einer Testumgebung und legen Sie eine Datensicherung an. Code ohne Gewähr.
Kopieren und einfügen
functions.php (Child-Theme) oder Snippet-Plugin
/**
* MEK7 Snippet: Ausverkaufte Produkte ans Ende der Produktlisten sortieren
* Gilt für Shop-Seite, Kategorien und Schlagwörter. Die gewählte Sortierung bleibt innerhalb der Gruppen erhalten.
*/
add_filter( 'posts_clauses', 'mek7_ausverkauft_ans_ende', 20, 2 );
function mek7_ausverkauft_ans_ende( $clauses, $query ) {
if ( is_admin() || ! $query->is_main_query() ) {
return $clauses;
}
$produktliste = $query->is_post_type_archive( 'product' ) || $query->is_tax( get_object_taxonomies( 'product' ) );
if ( ! $produktliste ) {
return $clauses;
}
global $wpdb;
$clauses['join'] .= " LEFT JOIN {$wpdb->postmeta} AS mek7_lager ON ( {$wpdb->posts}.ID = mek7_lager.post_id AND mek7_lager.meta_key = '_stock_status' ) ";
$vorne = " ( mek7_lager.meta_value = 'outofstock' ) ASC ";
$clauses['orderby'] = $clauses['orderby'] ? $vorne . ', ' . $clauses['orderby'] : $vorne;
return $clauses;
}Keine Zeit für Code?
Wir bauen das Snippet in Ihren Shop ein und testen es – zum Festpreis, sicher vor Theme-Updates im Child-Theme oder Snippet-Plugin.
Featured Grid
Angebots-Raster für die Startseite, das Ausverkauftes automatisch ausblendet und die Reihenfolge täglich wechselt.