Zeigen Sie WooCommerce-Produkte standardmäßig zufällig auf der Shop-Seite an
Aug 16 2020
Ich versuche, Produkte mit diesem Code zufällig auf meiner Shop-Seite anzuzeigen:
add_filter('woocommerce_get_catalog_ordering_args', 'set_sort_order');
function set_sort_order($args) { $args['orderby'] = 'rand';
return ($args);
}
Aber dieser Code macht zufällige Produktkategorieseite, aber ich muss nur Seite - Titelseite speichern. Nicht auf der Produktkategorieseite. wie kann ich es tun ?
Antworten
2 LoicTheAztec Aug 16 2020 at 11:03
Verwenden Sie stattdessen Folgendes, um Produkte nur auf Shop-Archivseiten zufällig zu sortieren:
// Set default orderby query to "rand" option for shop archive pages
add_filter('woocommerce_get_catalog_ordering_args', 'shop_default_orderby_rand');
function shop_default_orderby_rand($args) { if( is_shop() && ( ! isset($_GET['orderby']) || 'menu_order' === $_GET['orderby'] ) ) { $args['orderby'] = 'rand';
return ($args);
}
}
Oder Sie können auch dieses verwenden:
// Set default orderby query to "rand" for shop archive pages
add_action( 'pre_get_posts', 'shop_default_orderby_rand' );
function shop_default_orderby_rand( $query ) {
if ( is_shop() && ( ! isset($_GET['orderby']) || 'menu_order' === $_GET['orderby'] ) ) {
$query->set( 'orderby', 'rand' );
}
}
Fügen Sie den Code in die Datei functions.php Ihres aktiven untergeordneten Themas (oder aktiven Themas) ein. Getestet und funktioniert.