The blog homepage on your WordPress website by default presents all published posts (not pages) in reverse chronological order, with the most recent post appearing at the top. That is for the convenience of both returning visitors who come to read your most recent posts and new visitors who are unlikely to be happy about having to go through several steps to see your most recent posts.
But if you don't like that above "sort posts by published date" behavior and need to "sort posts by number of comments", 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 Number of Comments:
function themesdna_sort_homepage_posts_by_number_of_comments( $query ) {
if( $query->is_main_query() && ! is_admin() && $query->is_home() ) {
$query->set( 'orderby', 'comment_count' );
$query->set( 'order', 'DESC' );
}
}
add_action( 'pre_get_posts', 'themesdna_sort_homepage_posts_by_number_of_comments' );
Code 2:
Sort Homepage, Archive Pages (Category Pages, Tag Pages,...), Search Pages Posts by Number of Comments:
function themesdna_sort_posts_by_number_of_comments( $query ) {
if( $query->is_main_query() && ! is_admin() && ( $query->is_home() || $query->is_search() || $query->is_archive() ) ) {
$query->set( 'orderby', 'comment_count' );
$query->set( 'order', 'DESC' );
}
}
add_action( 'pre_get_posts', 'themesdna_sort_posts_by_number_of_comments' );
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.