5Wordpress LogoAnnonces Adsense au-dessus du dernier paragraphe d'un poste

Vous avez peut-être remarqué que nous avons peaufiné la façon dont nous affichons nos annonces adsense. Nous voulions des petites annonces textuelles uniquement au bas de chaque article, qui seraient ajoutés automatiquement. Cela a pris un peu de rafistolage, but even­tu­ally we developed a solu­tion which works well and does­n’t seem to knock page pro­cessing times much. Simply add the fol­low­ing code to your theme’s functions.php (ne pour-obtenir de ne pas changer vos identifiants AdSense) 

Updated 12-Nov-2017 as the code was­n’t work­ing cor­rectly as pre­vi­ously dis­played. J'ai aussi ajouté 2 d'autres fonctions que j'utilise, pour insérer une annonce via shortcode, et un autre pour ajouter une petite annonce où plus est enlevé lorsqu'un poste est montré en pleine

/************************************************************************\
* Code court Adsense pour l'insertion 2 petites annonces partout via shortcode *
\************************************************************************/
fonction Google_Adsense( $atts, $content = null ) {
   retour »<div class ="une" style ="text-align: centre;"><div id ="google-1"></div><p style ="clair: tous les deux"></p></div>»;
}
add_shortcode('Google adsense', 'Google adsense');




/******************************************\
* Montrer 2 petites annonces adsense à plus tag *
\******************************************/
add_filter(«The_content ', 'Adsense_added_at_more_tag');

// Cette fonction remplacer votre plus étiquette avec vos codes adsense.
fonction adsense_added_at_more_tag($texte) {
si( is_single() ) :
$ads_text = '<div id ="google" = de classe"une" style ="text-align: centre;"><div id ="google-1"></div><p style ="clair: tous les deux"></p></div>»;
$pos1 = strpos($texte, »<span id ="plus-');
//"
si($pos1 === FAUX) $text = $ ads_text . $texte;
autre
{
$pos2 = strpos($texte, »</envergure>», $pos1);
$text1 = substr($texte, 0, $pos1);
$text2 = substr($texte, $pos2 + 7);
$text = $ text1 . $ads_text . $text2;
}
endif;
return $ texte;
}




/*******************************************************\
* Afficher seule grande annonce adsense au-dessus du dernier paragraphe *
\*******************************************************/
add_filter(«The_content ', 'Gads_added_above_last_para');

fonction gads_added_above_last_para($ytext) {
si( is_single() ) :
$yads_text = '<div class ="une" style ="text-align: centre;"><div id ="google-2"></div><p style ="clair: tous les deux"></p></div>»;
si($ypos1 = strrpos($ytext, »</p>»)){
$ytext1 = substr($ytext, 0, ($ypos1 + 4));
$ytext2 = substr($ytext, ($ypos1 + 4));
$ytext = $ ytext1 . $yads_text . $ytext2;
}
endif;
retour ytext de $;
}

Laisser un commentaire

5 commentaires

SJSarah Jones

I don’t know but your code was not work­ing in my case. Si, I replaced it with oth­er code. If any­one else is facing the same prob­lem, alors vous pouvez utiliser le code ci-dessous.

func­tion insert_ad_block( $texte ) {

si ( is_single() ) :

$ads_text = « Mon Code de l'annonce ici »;
$split_by = « n »;
$insert_after = 2; //nombre de paragraphes

// faire ensemble des paragraphes
$para­graphs = explode( $divisé par, $texte);

// if array ele­ments are less than $insert_after set the insert point at the end
$len = count( $para­graphs );
si ( $seulement < $insert_after ) $insert_after = $ len;

// insert $ads_text into the array at the spe­cified point
array_splice( $para­graphs, $insert_after, 0, $ads_text );

// une boucle à travers matrice et la chaîne de génération de sortie
pour chaque( $para­graphs as $para­graph ) {
$new_text .= $para­graph;
}

retour nouveau_texte de $;

endif;

return $ texte;

}
add_filter(‘the_content’, ‘insert_ad_block’);

Répondre
MSMatthew Snider

Est-il possible de le faire par exemple après la 2nd paragraphe au lieu de l'avant-dernier?

Répondre
JSJon Scaife

Absolument. Vous voulez juste besoin de modifier le code légèrement. J'utilise strrpos qui trouve la dernière occurrence d'd' <p>
Si vous voulez trouver la deuxième occurrence d'd' <p> remplacer la ligne 13 du code ci-dessus avec ...

si($pos1 = strpos($texte, »<p>», strpos($texte, »<p>») + 3)){
Répondre
CChris

Grand homme de travail. Merci beaucoup. Do you have any idea how to place a hori­zont­al line above and below the ad unit?

Répondre
JSJon Scaife

Bien sûr. Ajoutez une ou deux <h />'S - 1 at the start of the value of $ads_text and the oth­er at the end.
Par exemple. remplacer

$ads_text = '<div class ="une" style ="text-align: centre;"><type de script ="text / javascript"><!--
            google_ad_client = "ca-pub-0754629982287605";
            /* DMH-PostsMini */            google_ad_slot = "5138459326";
            google_ad_width = 468;
            google_ad_height = 15;
            //-->
            </scénario>
            <type de script ="text / javascript" src ="https://pagead2.googlesyndication.com/pagead/show_ads.js">
            </scénario></div>»;

Avec

$ads_text = '<h /><div class ="une" style ="text-align: centre;"><type de script ="text / javascript"><!--
            google_ad_client = "ca-pub-0754629982287605";
            /* DMH-PostsMini */            google_ad_slot = "5138459326";
            google_ad_width = 468;
            google_ad_height = 15;
            //-->
            </scénario>
            <type de script ="text / javascript" src ="https://pagead2.googlesyndication.com/pagead/show_ads.js">
            </scénario></div><h />»;
Répondre