Wordpress loop : get current post count inside The Loop Wordpress loop : get current post count inside The Loop wordpress wordpress

Wordpress loop : get current post count inside The Loop


You can use the current_post member of the WP_Query object instance to get the current post iteration;

while ( have_posts() ) : the_post();    // your normal post code    if ( ( $wp_query->current_post + 1 ) % 3 === 0 ) {        // your ad code here    }endwhile;

Note, if you're using this inside a function, you'll need to globalise $wp_query.


Why not incrementing a variable then display your ads when needed?

while(LOOP)    echo $i%3==0 ? $ad : '';    $i++


Unsure why, but the suggested methods didn't work out for me, I had to resort to the following

$loop_counter = 1;while( $query->have_posts() ){    //Do your thing $query->the_post(); etc    $loop_counter++;}

Safer than playing with globals if you ask me.