demo (first page)

function gp_latest_posts_shortcode() {

ob_start();

$query = new WP_Query(array(
‘post_type’ => ‘post’,
‘posts_per_page’ => 6,
‘post_status’ => ‘publish’,
‘ignore_sticky_posts’ => true
));

if ($query->have_posts()) {
echo ‘

‘;

while ($query->have_posts()) {
$query->the_post(); ?>

}

wp_reset_postdata();

return ob_get_clean();
}

add_shortcode(‘latest_posts’, ‘gp_latest_posts_shortcode’);