Como faço para que o ciclo seja repetido no meu modelo de categoria?

Por algum motivo, ao exibir uma categoria, as postagens são repetidas – basicamente, o ciclo inteiro se repete tantas vezes quanto existem postagens para essa categoria.

POR EXEMPLO:
Se category_a tiver 3 postagens, a página exibirá:

post1 – Destaque
post2
post3

post1 – Destaque
post2
post3

post1 – Destaque
post2
post3

Se category_a tiver 4 posts, ele exibirá:

post1 – Destaque
post2
post3
pós4

post1 – Destaque
post2
post3
pós4

post1 – Destaque
post2
post3
pós4

post1 – Destaque
post2
post3
pós4

Estou usando o mesmo post-template ( content-feed.php ) para a página principal do blog e para as páginas da categoria. Funciona bem na página principal do blog.

Não tenho a certeza se isso interessa ou tem alguma coisa a ver com este problema, mas pode ser digno de nota: no primeiro ciclo, estou puxando uma postagem “destacada” e, em seguida, o resto das postagens (“não apresentadas” ) abaixo. Novamente – isso funciona muito bem na página principal do blog, esse problema é apenas nas páginas da categoria.

Aqui está o post-template inteiro ( content-feed.php ):

 
1, 'post_type' => 'post', 'order' => 'DESC', 'category__in' => ($cat), 'meta_query' => array( array( 'key' => 'is_featured', 'value' => '1', // only display the latest post marked featured, if there is one ) ) ); $first_query = new WP_Query( $args ); if ( $first_query->have_posts() ): echo ''; endif; wp_reset_postdata(); // to reset the loop ?>
10, 'post_type' => 'post', 'category__in' => ($cat), 'meta_query' => array( array( 'key' => 'is_featured', 'value' => '1', 'compare' => '!=', // only display posts not marked as featured - to prevent repeat from above ) ) ); $second_query = new WP_Query( $args ); if ( $second_query->have_posts() ): while( $second_query->have_posts() ) : $second_query->the_post(); $titlechars = 45; // Character Limit $posttitle = get_the_title(); $modtitle = substr($posttitle, 0, $titlechars); $contentchars = 120; // Character Limit $postcontent = get_the_excerpt(); $modcontent = substr($postcontent, 0, $contentchars); echo '
'; ?> <?php if( get_field('image') ): $attachment_id = get_field('image'); $size = 'customfeatins'; // (thumbnail, medium, large, full or custom size) $image = wp_get_attachment_image_src( $attachment_id, $size ); echo '' . get_the_title() .''; ?> <?php echo 'bf-default' ?> <?php echo '

' . $modtitle .'

' . get_the_date() .'

' . $modcontent . '… More ›

'; ?>
<?php/* */?> str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), 'format' => '?paged=%#%', 'current' => max( 1, get_query_var('paged') ), 'total' => $wp_query->max_num_pages ) ); ?>

E aqui está o meu modelo category.php :

      

Eu tentei adicionar / mover depois de em content-feed.php mas isso não mudou nada.

Alguma idéia sobre como corrigir isso ou impedir que isso aconteça?

Agradecemos antecipadamente por qualquer ajuda!

Solutions Collecting From Web of "Como faço para que o ciclo seja repetido no meu modelo de categoria?"

Você tem três loops, dois nesteds dentro do loop principal. O loop principal exibe os posts, por exemplo, na category_a . O que o segundo loop nested exibe? Parece que esses loops também exibem os posts da categoria samne como o loop principal. Então tente remover o segundo loop nested.

Ahhhh, graças à solução de problemas de ajuda da Ralf912, consegui descobrir a solução. Eu precisava remover o loop “pai” – então substituindo < ?php while (have_posts()) : the_post(); ?> < ?php while (have_posts()) : the_post(); ?> com < ?php if (have_posts()) : ?> e substituindo o fechamento < ?php endwhile; ?> < ?php endwhile; ?> com < ?php endif; ?> < ?php endif; ?> fixou.

Não era necessário aninhar os loops destacados e não apresentados em um loop principal.

Mais uma vez, Ralf912!