Cum să obții un HTML diferit pentru articole pare/impare?
// Interogare articole
if posts exist
then begin the loop
if post is even: <h1>titlu</h1><p>conținut</p>
if post is odd: <div>imaginea sa</div>
Iată ce încerc să obțin, un rezultat diferit pentru articolele pare/impare: pentru articolele pare vom afișa titlul și conținutul în timp ce pentru articolele impare vom afișa imaginea acestora (thumbnail-ul, de exemplu). Cum pot obține acest rezultat?
Fac interogarea articolelor în acest mod
query_posts('category_name=category-name');
apoi nu știu cum să continui

Nu ai nevoie de o nouă variabilă pentru numărarea postărilor, WordPress are deja una în $wp_query->current_post
.
<?php while (have_posts()): the_post() ?>
<?php if ($wp_query->current_post % 2 == 0): ?>
par
<?php else: ?>
impar
<?php endif ?>
<?php endwhile ?>
Dacă folosești o instanță personalizată WP_Query
așa cum a sugerat iEmanuele, atunci va fi $query->current_post
în schimb.

Te rog să nu folosești query_posts();, în schimb folosește clasa WP_Query
sau get_posts();
.
Pentru a ținti postările impare/pare în bucla ta:
//Voi folosi o instanță a clasei WP_Query
$args( 'post_type' => 'recipe', 'posts_per_page' => 5 );
//Setăm un contor
$counter = 0;
//Pregătim bucla
$query = new WP_Query( $args );
//În bucla while contorul crește cu unu $counter++
if( $query->have_posts() ) : while( $query->have_posts() ) : $query->the_post(); $counter++;
//Suntem în buclă, deci putem verifica dacă contorul este par sau impar
if( $counter % 2 == 0 ) : //Este par
the_title(); //Afișează titlul postării
the_content(); //Afișează conținutul postării
else: //Este impar
if( has_post_thumbnail() ) : //Dacă postarea are imagine reprezentativă, o afișăm
the_post_thumbnail();
endif;
endif;
endwhile; wp_reset_postdata(); endif;
Sper că te ajută!

Poți avea o nouă variabilă pentru a număra postările, apoi să o incrementezi în interiorul while loop-ului și apoi să verifici dacă este impară sau pară. Iată un exemplu de cod din fișierul loop.php al temei Blaskan care afișează arhivele unui autor...
<?php // Începe loop-ul ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php if ( ( is_archive() || is_author() ) && ( !is_category() && !is_tag() ) ) : // Arhive ?>
<li>
<a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Legătură permanentă către %s', 'blaskan' ), the_title_attribute( 'echo=0' ) ); ?>"><?php the_title(); ?></a>
<time datetime="<?php the_date('c'); ?>"><?php print get_the_date(); ?></time>
</li>
<?php else: // Altfel ?>
Cod modificat care afișează data publicării, doar pentru postările cu număr par în arhivele unui autor...
<?php $posts_count = 1; // Începe loop-ul ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php ++$posts_count; ?>
<?php if ( ( is_archive() || is_author() ) && ( !is_category() && !is_tag() ) ) : // Arhive ?>
<li>
<a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Legătură permanentă către %s', 'blaskan' ), the_title_attribute( 'echo=0' ) ); ?>"><?php the_title(); ?></a>
<?php if($posts_count % 2): ?> <time datetime="<?php the_date('c'); ?>"><?php print get_the_date(); ?></time> <?php endif; ?>
</li>
<?php else: // Altfel ?>
