Cum să inserezi o imagine sau un script de publicitate după 3 postări utilizând bucla în WordPress
Există multe scripturi/soluții pentru a insera reclame în mijlocul postărilor (după un anumit număr de paragrafe), dar nu am găsit un script suficient de bun care să facă exact acest lucru.
Acesta este scriptul care se apropie cel mai mult:
<?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) { ?>
INSERT COD ADSENSE AICI
<?php } ?>
<?php endwhile; ?>
Luat de aici. Dar index.php meu folosește acest cod:
<?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; ?>
Am încercat să adaug:
<?php
$post_counter++;
if ($post_counter == 2 || $post_counter == 3) { ?>
INSERT COD ADSENSE AICI
<?php } ?>
înainte de endwhile, dar văd o repetiție de 'INSERT COD ADSENSE AICI' de două ori. Aveți sugestii?

în loc de un contor de postări, poți folosi variabila $wp_query->current_post
- care începe de la 0 pentru prima postare din buclă;
pentru a afișa ceva după a treia postare, folosește de exemplu acest cod înaintea liniei cu endwhile;
:
<?php if( $wp_query->current_post == 2 ) { ?>
FAȚI CEVA
<?php } ?>

trebuie să pun în șablonul de post/pagină individuală? dacă da, unde exact în el?

codul ar trebui să fie plasat în bucla din șablonul index. detaliile depind de tema folosită.

@MuhammadRiyaz - în general da, însă codul ar fi mai complex pentru că trebuie să obții valoarea aleatoare înainte de buclă și apoi să o folosești în locul numărului în instrucțiunea if. consideră să îți întrebi propria întrebare pentru a primi un răspuns detaliat.

@Michael - Mulțumesc pentru răspuns. Am găsit o soluție. <?php $ad_positions = array(2,3,4,5,6); // array cu poziții predefinite posibile pentru reclame $numb = $ad_positions[rand(0, count($ad_positions) - 1)];
if( $wp_query->current_post == $numb ) { ?> FAȚI CEVA <?php } ?>

<?php $ad_positions = array(2,3,4,5,6); // array cu poziții predefinite posibile pentru reclame
$numb = $ad_positions[rand(0, count($ad_positions) - 1)];
if( $wp_query->current_post == $numb ) { ?>
FAȚI CEVA
<?php } ?>
Dacă cineva are nevoie să afișeze reclama în poziții aleatorii, codul de mai sus vă va ajuta în bucla WordPress. Mulțumesc.
