You shouldn’t modify the main query like that. Instead, make a secondary loop:
// The Query
$args = array(
'post_status' => 'publish',
'post_type' => 'post',
'orderby' => 'date',
'order' => 'desc',
);
$the_query = new WP_Query( $args );
// The Loop
if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) {
$the_query->the_post();
// Do output
}
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();