Cum să inserezi o imagine sau un script de publicitate după 3 postări utilizând bucla în WordPress

7 aug. 2012, 21:10:15
Vizualizări: 15.6K
Voturi: 4

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?

1
Comentarii

"Văd o repetare a 'INSERT ADSENSE CODE HERE' de două ori" - posibil din cauza condiției OR din declarația condițională if ($post_counter == 2 || $post_counter == 3)? sau te referi la altceva?

Michael Michael
7 aug. 2012 21:37:17
Toate răspunsurile la întrebare 2
5
17

î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 } ?>
7 aug. 2012 21:41:48
Comentarii

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

Vivek Sancheti Vivek Sancheti
20 feb. 2017 10:55:09

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

Michael Michael
20 feb. 2017 19:55:06

Putem face asta aleatoriu în buclă?

Muhammad Riyaz Muhammad Riyaz
12 iul. 2017 13:14:12

@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 Michael
12 iul. 2017 19:11:42

@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 } ?>

Muhammad Riyaz Muhammad Riyaz
16 iul. 2017 09:55:09
0
<?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.

16 iul. 2017 10:02:12