Insertar imagen o script de anuncio después de 3 publicaciones usando el loop
Existen muchos scripts/hacks para insertar anuncios en medio de las publicaciones (después de 'x' número de párrafos), pero no he encontrado uno lo suficientemente bueno que pueda hacer lo mencionado.
Este es el script que se acerca más,
<?php $post_counter=0; ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php require('post.php'); ?>
<?php
$post_counter++;
if ($post_counter == 2 || $post_counter == 3) { ?>
INSERTAR CÓDIGO DE ADSENSE AQUÍ
<?php } ?>
<?php endwhile; ?>
Tomado de aquí. Pero mi index.php usa esto en su lugar:
<?php
$page_num = $paged;
if ($pagenum='') $pagenum =1;
query_posts('cat=-3&showposts=6&paged='.$page_num); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php get_template_part('includes/index-loop'); ?>
<?php endwhile; wp_reset_postdata(); wp_reset_query(); ?>
<div class="clear"></div>
<?php else : ?>
<?php endif; ?>
Intenté insertar
<?php
$post_counter++;
if ($post_counter == 2 || $post_counter == 3) { ?>
INSERTAR CÓDIGO DE ADSENSE AQUÍ
<?php } ?>
antes de endwhile, pero veo una repetición de 'INSERTAR CÓDIGO DE ADSENSE AQUÍ' dos veces. ¿Alguna sugerencia?

en lugar de un contador de publicaciones, podrías usar la variable $wp_query->current_post
- que comienza con 0 para la primera publicación en el bucle;
para mostrar algo después de la tercera publicación, usa por ejemplo esto antes de la línea con endwhile;
:
<?php if( $wp_query->current_post == 2 ) { ?>
HACER ALGO
<?php } ?>

¿Necesito colocarlo en la plantilla de publicación/página individual? Si es así, ¿dónde exactamente?

El código debe ir dentro del loop de la plantilla del índice. Los detalles dependen del tema que estés utilizando.

@MuhammadRiyaz - generalmente sí, sin embargo, el código sería más complejo porque necesitas obtener el valor aleatorio antes del bucle y luego usarlo en lugar del número en la sentencia if. Considera crear tu propia pregunta para obtener una respuesta detallada.

@Michael - Gracias por responder. Encontré una solución. <?php $ad_positions = array(2,3,4,5,6); // array de posiciones de anuncios predefinidas posibles $numb = $ad_positions[rand(0, count($ad_positions) - 1)];
if( $wp_query->current_post == $numb ) { ?> HACER ALGO <?php } ?>

<?php $ad_positions = array(2,3,4,5,6); // arreglo de posiciones predefinidas posibles para anuncios
$numb = $ad_positions[rand(0, count($ad_positions) - 1)];
if( $wp_query->current_post == $numb ) { ?>
HACER ALGO
<?php } ?>
Si alguien necesita mostrar un anuncio en posiciones aleatorias, el código anterior será útil dentro del loop de WordPress. Gracias.
