Inserire un'immagine o script pubblicitario dopo 3 post utilizzando il loop
Ci sono molti script/hack per inserire annunci nel mezzo di un post (dopo 'x' numero di paragrafi), ma non ho trovato uno script abbastanza buono per fare quanto sopra.
Questo è lo script che si avvicina di più:
<?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) { ?>
INSERISCI QUI IL CODICE ADSENSE
<?php } ?>
<?php endwhile; ?>
Preso da qui. Ma il mio index.php utilizza invece questo:
<?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; ?>
Ho provato a inserire:
<?php
$post_counter++;
if ($post_counter == 2 || $post_counter == 3) { ?>
INSERISCI QUI IL CODICE ADSENSE
<?php } ?>
prima di endwhile, ma vedo una ripetizione di 'INSERISCI QUI IL CODICE ADSENSE' due volte. Qualche suggerimento?

invece di un contatore di articoli, potresti usare la variabile $wp_query->current_post
- che inizia con 0 per il primo articolo nel loop;
per un output dopo il terzo articolo, usa ad esempio questo prima della riga con endwhile;
:
<?php if( $wp_query->current_post == 2 ) { ?>
FAI QUALCOSA
<?php } ?>

Devo inserirlo nel template del singolo post/pagina? Se sì, dove esattamente?

Il codice dovrebbe essere inserito nel loop del template index. I dettagli dipendono dal tema che stai utilizzando.

@MuhammadRiyaz - generalmente sì, tuttavia il codice sarebbe più complesso perché devi ottenere il valore casuale prima del ciclo e poi usarlo al posto del numero nell'istruzione if. considera di aprire una tua domanda per ottenere una risposta dettagliata.

@Michael - Grazie per la risposta. Ho trovato una soluzione. <?php $ad_positions = array(2,3,4,5,6); // array di posizioni possibili predefinite per gli annunci $numb = $ad_positions[rand(0, count($ad_positions) - 1)];
if( $wp_query->current_post == $numb ) { ?> FAI QUALCOSA <?php } ?>

<?php $ad_positions = array(2,3,4,5,6); // array di posizioni predefinite possibili per gli annunci
$numb = $ad_positions[rand(0, count($ad_positions) - 1)];
if( $wp_query->current_post == $numb ) { ?>
FARE QUALCOSA
<?php } ?>
Se qualcuno ha bisogno di mostrare un annuncio in posizioni casuali, il codice sopra sarà utile nel loop di WordPress. Grazie.
