In vielen WooCommerce-Shops besteht der Wunsch, die Anzahl der dargestellten Produkte individuell zu steuern – sei es in der Shop-Übersicht, in den Produktkategorien oder auf Übersichtsseiten ohne Pagination. Standardmäßig bietet WooCommerce hierfür nur begrenzte Optionen. Mit ein paar gezielten Code-Snippets Themes lässt sich jedoch exakt festlegen, wie viele Produkte pro Reihe oder pro Seite erscheinen sollen.
Im Folgenden finden Sie leicht anpassbare Beispiele, mit denen Sie das Layout Ihres Shops schnell und effizient optimieren können.
Fügen Sie dazu einfach den folgenden Code in die Datei functions.php Ihres WordPress-Themes ein und passen Sie ihn bei Bedarf an.
Die Anzahl der Produkte pro Reihe ändern
// WooCommerce Produkte Anzahl pro Reihe aendern
add_filter('loop_shop_columns', 'loop_columns', 999);
if (!function_exists('loop_columns')) {
function loop_columns() {
return 3; // die Anzahl auf 3 Produkte pro Reihe in WooCommerce einstellen
}
}Die Anzahl der angezeigten Produkte pro Seite ändern
// WooCommerce Produkte Anzahl pro Seite aendern
add_filter( 'loop_shop_per_page', 'new_loop_shop_per_page', 999 );
function new_loop_shop_per_page( $cols ) {
// $cols enthält die aktuelle Anzahl der Produkte pro Seite basierend auf den WooCommerce Einstellungen
$cols = 9; // die Anzahl auf 9 Produkte pro Seite in WooCommerce einstellen
return $cols;
}Möchte man 12 Produkte pro Seite anzeigen, dann ändert man den Wert auf $cols = 12;
Voraussetzung: In den WordPress Einstellungen unter Design – Customizer – WooCommerce > Produktkatalog muss die Einstellung auf „Produkte anzeigen“ eingestellt sein.
Ändern der maximalen Anzahl von Produkten auf der Shop-Seite
Wer alle seine Produkte auf der WooCommerce Shop-Seite anzeigen lassen will, kann den folgenden Code in der functions.php Datei des WordPress-Themes verwenden. Nützlich, wenn man keine Pagination dort haben will (keine Seitennummerierung).
// WooCommerce Maximale Anzahl der Produkte auf der Shopseite aendern
add_filter( 'loop_shop_per_page', 'new_loop_shop_per_page', 999 );
function new_loop_shop_per_page( $products ) {
// die Anzahl der Produkte, die Sie pro Seite anzeigen möchten. Hier 100 Produkte.
$products = 100;
return $products;
}