skip to Main Content

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!

2

Answers


  1. Chosen as BEST ANSWER

    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.


  2. 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;
    }
    

    enter image description here

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search