Διαφορετική ταξινόμηση προϊόντων (sorting) ανα κατηγορία στο woocommerce
Σε ένα woocommerce site πολλές φορές χρειάζεται να αλλάξουμε την default ταξινόμηση των προϊόντων. Ο πιο εύκολος τρόπος είναι μέσα από τις ρυθμίσεις του WordPress και συγκεκριμένα στο μενού Εμφάνιση > Προσαρμογή > Woocommerce > Κατάλογος προϊόντων > Προκαθορισμένη ταξινόμηση προϊόντων.
Τι γίνεται όμως όταν θέλουμε διαφορετικούς τύπους ταξινόμησης για διαφορετικές σελίδες; Για παράδειγμα μπορεί να θέλουμε στην κεντρική σελίδα του καταστήματος να φαίνονται τα προϊόντα με τις περισσότερες πωλήσεις, σε μία συγκεκριμένη κατηγορία τα προϊόντα ανά τιμή ξεκινώντας από αυτό με τη χαμηλότερη τιμή ενώ σε όλες τις υπόλοιπες σελίδες ότι έχουμε επιλέξει στις ρυθμίσεις του WordPress όπως είδαμε παραπάνω;
Η επιλογή αυτή αλλάζει με το filter woocommerce_default_catalog_orderby και πιο συγκεκριμένα
add_filter('woocommerce_default_catalog_orderby', function($sort_by) {
if ( is_shop() )
{
return 'popularity';
}
else if ( is_product_category('category-slug') )
{
return 'price';
}
return $sort_by;
});
Οι default επιλογές ταξινόμησης είναι οι εξής
- popularity
Προϊόντα με τις περισσότερες πωλήσεις - price
Με βάση την τιμή ξεκινώντας από τη χαμηλότερη - price-desc
Με βάση την τιμή ξεκινώντας από την υψηλότερη - date
Με βάση την ημερομηνία, τα νέα προϊόντα φαίνονται πρώτα - menu_order
Προκαθορισμένη ταξινόμηση, με βάση την custom σειρά προϊόντων που έχουμε επιλέξει
Φυσικά μπορούμε να επιλέξουμε οποιαδήποτε συνθήκη για να αλλάξουμε την ταξινόμηση.
Σχόλια
Αριστοτέλης
Καλημέρα σας, καλό μήνα και καλές γιορτές!
Που προσθέτουμε το συγκεκριμένο κώδικα, σε ποια διαδρομή μεσα στο διαχειριστικό ή στο wWooCommerce?
Με εκτίμηση,
Αριστοτέλης