Zoradiť produkty podľa dátumu úpravy

Produkty sa štandardne vo Woo archívoch nedajú radiť podľa dátumu úpravy. Prečo by to ale niekto mal chcieť? 

No napríklad preto, že keď sa posledne upravené produkty zobrazujú v zozname ako prvé, znamená to, že na nich prebehla nejaká zmena. Napríklad, že si dal zľavu. Je super, že dáš zľavu a všetky tieto zľavnené produkty budú celkom hore, nie? 

Na toto nastavenie použijeme jednoduchý snippet. 

				
					//order by modified_date
add_filter('woocommerce_get_catalog_ordering_args', 'am_woocommerce_catalog_orderby');
function am_woocommerce_catalog_orderby( $args ) {
	$args['meta_key'] = '';
	$args['orderby'] = 'modified';
	$args['order'] = 'desc';
	
	return $args;
}
				
			

Jednoducho napíšeme vlastný order a orderby. Tú prázdnu hodnotu meta_key by sme tam asi ani nemuseli mať, ale neskúšal som to bez nej. No a celé to napichneme cez filter na woocommerce_get_catalog_ordering_args, čo je filter, cez ktorý ideme počas toho, ako dostávame zoznam produktov z current query do front-endu. Tam sa napichneme a produkty si pekne zoradíme ako chceme. 

Radenie na front-ende

Do štandardných možnosti radenia na front-ende vieme pridať aj vlastné radenie, napr. podľa dátumu modifikácie. Takto:

				
					// Ordering on front-end
add_filter( 'woocommerce_catalog_orderby', 'add_catalog_orderby_by_modified_date' );
function add_catalog_orderby_by_modified_date( $orderby_options ) {
    // Rename 'menu_order' label
    $orderby_options['modified_date'] = __("Zoradiť podľa dátumu úpravy", "woocommerce");

    return $orderby_options;
}
				
			

Podobné články

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *