Reputation: 81
So here is my link:
https://snake.cl/shop/?orderby=date
This shows products by date created
.
The problem I have is that I update the inventory of products and I would like them to show as if "new" or "now available".
So if I could sort by last modified
date, that would work I think.
I had a look at some WP parameters for queries, and tried:
https://snake.cl/shop/?orderby=modified
but that doesn't work.
Any ideas?
Thanks!
Upvotes: 3
Views: 4303
Reputation: 81
OK, I figured it out for anyone else that might need this.
This is the proper "query_var": ?orderby=modified-desc
.
https://snake.cl/shop/?orderby=modified-desc
that sorted my products by the last modified
date, i.e when I update the inventory it shows up first.
Upvotes: 2
Reputation: 1809
You should try this for Sort by last modified date order by DESC.
// Apply Sort By Last Modified
add_filter( 'woocommerce_get_catalog_ordering_args', 'woo_add_postmeta_ordering_args' );
function woo_add_postmeta_ordering_args( $args_sort ) {
$orderby_value = isset( $_GET['orderby'] ) ? wc_clean( $_GET['orderby'] ) : '';
switch( $orderby_value ) {
case 'last_modified':
$args_sort['orderby'] = 'modified';
$args_sort['order'] = 'DESC';
break;
}
return $args_sort;
}
// Add "Sort By Last Modified" option in dropdown
add_filter( 'woocommerce_default_catalog_orderby_options', 'woo_add_new_postmeta_orderby' );
add_filter( 'woocommerce_catalog_orderby', 'woo_add_new_postmeta_orderby' );
function woo_add_new_postmeta_orderby( $sortby ) {
$sortby['last_modified'] = __( 'Sort By Last Modified', 'woocommerce' );
return $sortby;
}
Upvotes: 3