5Logo WordpressAnúncios Adsense acima do último parágrafo de um posto

Você deve ter notado que temos mexido como apresentamos nossos anúncios do AdSense. Queríamos alguns pequenos anúncios somente de texto na parte inferior de cada artigo, que seriam adicionados automaticamente. Isso levou um pouco de ajustes, mas eventualmente nós desenvolvemos uma solução que funciona bem e não parece bater os tempos de processamento página muito. Basta adicionar o seguinte código ao functions.php do seu tema (não para-get para mudar seus IDs adsense) 

Atualizado 12-Nov-2017 como o código não estava funcionando corretamente, como exibido anteriormente. Eu também acrescentou 2 outras funções que eu uso, um para inserir anúncios via Shortcode, e outro para adicionar um anúncio onde o mais é removido quando um post é mostrada na íntegra

/************************************************************************\
* código curto Adsense para a inserção de 2 pequenos anúncios em qualquer lugar através shortcode *
\************************************************************************/
Google_Adsense função( $ATTS, $conteúdo = nulo ) {
   return '<class = div"a" style ="alinhamento de texto: centro;"><id = div"Google-1"></div><estilo p ="Claro: tanto"></p></div>';
}
add_shortcode('Anúncios do Google', 'Anúncios do Google');




/******************************************\
* exposição 2 anúncios do AdSense pequenas no mais tag *
\******************************************/
add_filter('o conteúdo', 'Adsense_added_at_more_tag');

// Esta função substituir o seu mais tag com seus códigos de adsense.
adsense_added_at_more_tag função($texto) {
se( é único() ) :
$ads_text = '<id = div"google" class ="a" style ="alinhamento de texto: centro;"><id = div"Google-1"></div><estilo p ="Claro: tanto"></p></div>';
$pos1 = strpos($texto, '<span id ="Mais-');
//"
se($pos1 === FALSE) $text = $ ads_text . $texto;
outro
{
$pos2 = strpos($texto, '</palmo>', $pos1);
$text1 = substr($texto, 0, $pos1);
$text2 = substr($texto, $pos2 + 7);
$text = $ text1 . $ads_text . $text2;
}
endif;
retorno $ text;
}




/*******************************************************\
* Mostrar único anúncio grande adsense acima do último parágrafo *
\*******************************************************/
add_filter('o conteúdo', 'Gads_added_above_last_para');

gads_added_above_last_para função($ytext) {
se( é único() ) :
$yads_text = '<class = div"a" style ="alinhamento de texto: centro;"><id = div"Google-2"></div><estilo p ="Claro: tanto"></p></div>';
se($ypos1 = strrpos($ytext, '</p>')){
$ytext1 = substr($ytext, 0, ($ypos1 + 4));
$ytext2 = substr($ytext, ($ypos1 + 4));
$ytext = $ ytext1 . $yads_text . $ytext2;
}
endif;
return $ ytext;
}

Deixe uma resposta

5 Comentários

SJSarah Jones

Eu não sei, mas seu código não estava funcionando no meu caso. Assim, Eu substituí-lo com outro código. Se alguém está enfrentando o mesmo problema, então você pode usar o código abaixo.

insert_ad_block função( $texto ) {

se ( é único() ) :

$ads_text = 'My Code Ad Here';
$split_by = " n";
$insert_after = 2; //número de parágrafos

// fazer matriz de pontos
$parágrafos = explode( $split_by, $texto);

// Se os elementos de matriz são menos do que $ insert_after definir o ponto de inserção na extremidade
$len = count( $parágrafos );
se ( $unicamente < $insert_after ) $insert_after = $ len;

// inserir $ ads_text para a matriz no ponto especificado
array_splice( $parágrafos, $insert_after, 0, $ads_text );

// loop através da matriz e cadeia de construção para a saída
para cada( $parágrafos como $ parágrafo ) {
$novo_texto. = $ parágrafo;
}

return $ new_text;

endif;

retorno $ text;

}
add_filter('o conteúdo', ‘Insert_ad_block’);

Resposta
SENHORITAMatthew Snider

Existe uma maneira de fazer isso por exemplo, após a 2nd parágrafo em vez de antes da última?

Resposta
JSJon Scaife

Abso-lutely. Você só precisa ajustar o código ligeiramente. Eu estou usando strrpos que encontra o último ocor-rência de <p>
Se você quiser encontrar o segundo ocor-rência de <p> linha substituir 13 a partir do código acima, com ...

se($pos1 = strpos($texto, '<p>', Strpos($texto, '<p>') + 3)){
Resposta
CChris

Grande homem de trabalho. Thanks a lot. Você tem alguma idéia de como colocar uma linha horizontal acima e abaixo do bloco de anúncios?

Resposta
JSJon Scaife

Com certeza. Adicione um par de <hr />'S - 1 no início do valor de US $ ads_text eo outro no final.
Por exemplo. substituir

$ads_text = '<class = div"a" style ="alinhamento de texto: centro;"><tipo de script ="text / javascript"><!--
            google_ad_client = "ca-pub-0754629982287605";
            /* DMH-PostsMini */            google_ad_slot = "5138459326";
            google_ad_width = 468;
            google_ad_height = 15;
            //-->
            </escrita>
            <tipo de script ="text / javascript" src ="https://pagead2.googlesyndication.com/pagead/show_ads.js">
            </escrita></div>';

Com

$ads_text = '<hr /><class = div"a" style ="alinhamento de texto: centro;"><tipo de script ="text / javascript"><!--
            google_ad_client = "ca-pub-0754629982287605";
            /* DMH-PostsMini */            google_ad_slot = "5138459326";
            google_ad_width = 468;
            google_ad_height = 15;
            //-->
            </escrita>
            <tipo de script ="text / javascript" src ="https://pagead2.googlesyndication.com/pagead/show_ads.js">
            </escrita></div><hr />';
Resposta