Как реализовать такой вывод записей?
Я решил проблему таким образом:
Это вывод самой первой записи, которая будет в блоке Hero:<?php   
    if ( have_posts() ) :
    while ( have_posts() ) : the_post();
        if ( $wp_query->current_post == 0 ) :
            get_template_part( 'hero' );
        endif;
    endwhile;
    endif;
?>
А это вывод остальных записей, начиная со второй, уже в блоке .articles:<?php   
    if ( have_posts() ) :
    while ( have_posts() ) : the_post();
        if ( $wp_query->current_post > 0 ) :
            get_template_part( 'article' );
        endif;
    endwhile;
    endif;
?>
1. Вы можете просто присвоить первому посту в цикле отдельный CSS-класс и стилями получить заданный layout.
2. Если стилями недостаточно (надо модифицировать html тоже), опять же проверяете на первый пост в WP_Query и через if/else выводите нужные фрагменты. Смотрите тут Оформление первой записи в цикле wordpress?