WordPress Snippets

How to Order Posts by Modified Date in WordPress

By ThemesDNA2 min read

Share:

By default, your WordPress website's blog homepage displays all published posts (not pages) in reverse chronological order, with the most recently published post at the top. That is for the convenience of returning visitors who come to read your latest posts, as well as for the convenience of new visitors who are unlikely to be pleased with having to go through several steps to see your latest posts.

But if you don't like that above "sort posts by published date" behavior and need to "sort posts by modified date", then select a code given below according to your need and add it into your theme's "functions.php" file.

Code 1:

Sort Homepage Posts by Modified Date:

function themesdna_sort_homepage_posts_by_modified_date( $query ) {
    if( $query->is_main_query() && ! is_admin() && $query->is_home() ) {
        $query->set( 'orderby', 'modified' );
        $query->set( 'order', 'DESC' );
    }
}
add_action( 'pre_get_posts', 'themesdna_sort_homepage_posts_by_modified_date' );

Code 2:

Sort Homepage, Archive Pages (Category Pages, Tag Pages,...), Search Pages Posts by Modified Date:

function themesdna_sort_posts_by_modified_date( $query ) {
    if( $query->is_main_query() && ! is_admin() && ( $query->is_home() || $query->is_search() || $query->is_archive() ) ) {
        $query->set( 'orderby', 'modified' );
        $query->set( 'order', 'DESC' );
    }
}
add_action( 'pre_get_posts', 'themesdna_sort_posts_by_modified_date' );

Note: If you don't like to edit the functions.php file of your theme, you can use a plugin like "Code Snippets" to run custom code snippets on your site.

Premium WordPress themes Made for WordPress   /   Ready for your story

Ready to Build?

Your next great website starts here.

Build more websites with one flexible collection—and keep every theme for life.

  • 56+ themes
  • Lifetime updates
  • Unlimited websites
  • No renewals

The complete collection

$75

One payment. No renewals.

Get the Themes Bundle — $75Purchase terms