Suporte » Temas » Banner Adsense Somente Abaixo do Terceiro Post

  • Resolvido Wanderson Alves

    (@wandersonalwes)


    Olá,

    Recentemente vi vários sites/blogs usando banners do adsense abaixo dos posts na index, até aí tudo bem =)

    Porém, eu gostaria de adicionar apenas um banner abaixo de um determinado post, (Ex. o terceiro post), eu já vi em alguns blogs/sites desta maneira, mas eu não sei exatamente como eu posso está fazendo isso no meu loop, da forma que eu faço aparece o banner abaixo de todos os posts como era de se esperar rs, mas eu gostaria de saber se é possível está colocando apenas para o terceiro post.
    Desde já muito obrigado!

Visualizando 6 respostas - 1 até 6 (de um total de 6)
  • Moderador Felipe Elia

    (@felipeelia)

    Oi @wandersonalwes,

    Isso é relativamente simples, basta que você crie uma variável que aumente seu valor a cada iteração do loop. Alguma coisa como:

    if (have_posts()) {
    	$i = 1;
    	while (have_posts()) { the_post();
    		// Faz o que tem que fazer, normalmente
    
    		// Testa se a variável já está com o valor que você quer
    		if ($i == 3) {
    			// Exibe adsense ou coisa parecida
    		}
    		// Se quiser exibir em todos os posts pares, por exemplo, pode usar:
    		if ($i % 2 == 0) {
    			
    		}
    
    		// Não esqueça de aumentar o valor da variável a cada iteração
    		$i++;
    	}
    }

    Se você não tiver mais nenhuma dúvida e o código te ajudar como você precisa não esquece de voltar e colocar o tópico como resolvido, beleza? 🙂

    Criador do tópico Wanderson Alves

    (@wandersonalwes)

    Não entendi exatamente como eu posso está acrescentando essa variável, segue abaixo o meu loop

    <?php get_header(); ?>
    
    <div class="container">
        <div class="row">
            <div class="col-md-8">
                <div class="titulo">
                <?php
                     echo "";
                     single_cat_title('<h2>','</h2>');
                 ?>
                </div>
                <?php query_posts ($query_string . "&order=ASC"); ?>
                <?php if ( have_posts() ) : ?>
    
                <?php /* Start the Loop */ ?>
                <?php while ( have_posts() ) : the_post(); ?>
    
                    <?php
    
                        /*
                         * Include the Post-Format-specific template for the content.
                         * If you want to override this in a child theme, then include a file
                         * called content-___.php (where ___ is the Post Format name) and that will be used instead.
                         */
    
                            get_template_part( 'template-parts/content', get_post_format());
    
                    ?>
    
                <?php endwhile; ?>
                <?php else : ?>
    
                    <?php get_template_part( 'template-parts/content', 'none' ); ?>
    
                <?php endif; ?>
            </div>
            <div class="col-md-4"><?php get_sidebar(); ?></div>
        </div>
        <div class="row">
            <div class="col-md-12"><?php wp_pagenavi(); ?></div>
        </div>
    </div>
    
    <?php get_footer(); ?>
    Moderador Felipe Elia

    (@felipeelia)

    Oi @wandersonalwes,

    Troque
    <?php if ( have_posts() ) : ?>
    por
    <?php if ( have_posts() ) : $i = 0; ?>

    e
    get_template_part( 'template-parts/content', get_post_format());
    por

    get_template_part( 'template-parts/content', get_post_format());
    if ($i == 3) {
    	// coloque o código que você quer aqui
    }
    $i++;

    Por favor desmarque o tópico como “não é uma questão de suporte” e, se não houver mais nenhuma dúvida, não esqueça de marcá-lo como resolvido.

    • Esta resposta foi modificada 7 anos, 7 meses atrás por Felipe Elia.
    Criador do tópico Wanderson Alves

    (@wandersonalwes)

    Muito obrigado pela resposta rápida, em partes o código funcionou porém quando coloco algo onde deveria ser o “ads adsense” simplesmente da erro

    get_template_part( 'template-parts/content', get_post_format());
    if ($i == 3) {
    	// coloque o código que você quer aqui
        <?php global $data; echo $data['publink']; ?>
    }
    $i++;

    Lembrando que quando está sem colocar nada o site abre tranquilamente.

    IMAGEM DO ERRO: LINK

    Desculpa se estou sendo chato.

    Moderador Felipe Elia

    (@felipeelia)

    Oi @wandersonalwes,

    Não está sendo chato não, o importante é querer aprender mesmo :). O código que você colocou não precisa estar dentro de <?php ?> porque o if já está. Tente

    if ($i == 3) {
    	global $data; 
    	echo $data['publink'];
    }

    e diz aqui se funcionou.

    Criador do tópico Wanderson Alves

    (@wandersonalwes)

    Eba, funcionou perfeitamente, muito obrigado =)

    Ajudou bastante!

Visualizando 6 respostas - 1 até 6 (de um total de 6)
  • O tópico ‘Banner Adsense Somente Abaixo do Terceiro Post’ está fechado para novas respostas.