Search code examples
phpsortingwoocommerceproductdatemodified

Add sorting by modified date in Woocommerce products sort by


In woocommerce, I would like to add the possibility to sort the products by "Modified date" in shop and archives pages.

How can I add "Sort By date modified " in woocommerce product sorting dropdown?

Any help is appreciated.


Solution

  • This can be done very easily with the following code, which will add a sorting by modified date:

    add_filter( 'woocommerce_get_catalog_ordering_args', 'enable_catalog_ordering_by_modified_date' );
    function enable_catalog_ordering_by_modified_date( $args ) {
        if ( isset( $_GET['orderby'] ) ) {
            if ( 'modified_date' == $_GET['orderby'] ) {
                return array(
                    'orderby'  => 'modified',
                    'order'    => 'DESC',
                );
            }
        }
        return $args;
    }
    
    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'] = __("Sort by modified date", "woocommerce");
    
        return $orderby_options ;
    }
    

    Code goes in function.php file of your active child theme (or active theme). Tested and work.

    enter image description here