Como extrair postagens em duas colunas com diferentes tamanhos de imagem usando a variável $ counter?

Eu tenho um módulo personalizado puxando uma categoria específica com 6 posts exibindo a imagem em destaque em 2 colunas. Eu gosto do primeiro artigo do topo de cada coluna para exibir uma imagem grande como mostrado na imagem abaixo: Módulo

Para mencionar que eu tenho o código CSS necessário para a primeira e segunda coluna, mas não sei como usar corretamente a variável $ counter para poder exibir corretamente este módulo.

have_posts() ) { while ( $td_query->have_posts() ) { $td_query->the_post(); if ( $counter == 1 ) { $output .= '
'; // first column $output .= '
'; $output .= the_post_thumbnail( 'big' ); // 1 big image $output .= '
'; } elseif ( $counter == 2 ) { $output .= '
'; $output .= the_post_thumbnail( 'small' ); // 2 small images $output .= '
'; $output .= '
'; } elseif ( $counter == 4 ) { $output .= '
'; // right column $output .= '
' $output .= the_post_thumbnail( 'big' ); // 1 big image $output .= '
'; } else { $output .= '
'; $output .= the_post_thumbnail( 'small' ); // 2 small images $output .= '
'; $output .= '
'; } $counter++; } } wp_reset_query(); return $buffer;

O que estou fazendo de errado no código acima (simplificado e pseudo-código)?

Solutions Collecting From Web of "Como extrair postagens em duas colunas com diferentes tamanhos de imagem usando a variável $ counter?"

Você poderia fazer algo assim para simplificá-lo. Se estamos neste loop, queremos ter uma coluna esquerda e direita OU, pelo menos, uma coluna da esquerda, se tivermos menos de 4 posts, para que possamos mover uma div de contêineres fora do condicional principal:

 if ( $td_query->have_posts() ) { while ( $td_query->have_posts() ) { $td_query->the_post(); if ( $counter == 1 || $counter == 4 ) { $output .= ( $counter == 1 ) ? '
' : '
'; $output .= '
'; $output .= the_post_thumbnail( 'big' ); // 1 big image $output .= '
'; } else { $output .= '
'; $output .= the_post_thumbnail( 'small' ); // 2 small images $output .= '
'; } $counter++; } $output .= '
'; }

Descrevendo o seu código original, parece que isso deve funcionar para você, então não tenho certeza de quais problemas você está tendo com ele. De qualquer forma, espero que o que se passa acima para você!