5WordPress的标志上面的帖子的最后一段Adsense广告

您可能已经注意到,我们已经调整了我们如何展示我们的AdSense广告。我们希望每一个附近的文章底部的一些小纯文字广告, 这将自动添加。这摆弄了一点点, 但最终我们开发了一个效果很好的解决方案,并且似乎不会过多地影响页面处理时间。只需将以下代码添加到主题的 functions.php (不要忘记更改您的AdSense标识) 

2017 年 11 月 12 日更新,因为代码无法正常工作,如先前显示的那样. 我还添加 2 我使用的其他功能, 一种通过简码插入广告, 另一个添加广告,当帖子完整显示时删除更多广告

/************************************************************************\
* 对于插入的Adsense短代码 2 小广告通过短码的任何地方 *
\************************************************************************/
功能Google_Adsense( $的ATT, $内容= NULL ) {
   回归“<DIV CLASS ="一" 风格="文本对齐: 中央;"><DIV ID ="谷歌-1"></DIV><P类="明确: 两"></p></DIV>“;
}
add_shortcode('google_adsense', 'Google_Adsense');




/******************************************\
* 显示 2 在更小的标签AdSense广告 *
\******************************************/
的add_filter('内容', 'adsense_added_at_more_tag');

// 此功能与您的AdSense代码替换您的多个标签.
功能adsense_added_at_more_tag($文本) {
如果( is_single() ) :
$ads_text ='<DIV ID ="谷歌" CLASS ="一" 风格="文本对齐: 中央;"><DIV ID ="谷歌-1"></DIV><P类="明确: 两"></p></DIV>“;
$POS1 = strpos($文本, “<跨度ID ="更多-');
//"
如果($POS1 === FALSE) $文字= $ ads_text . $文本;
其他
{
$POS2 = strpos($文本, “</跨度>“, $POS1);
$文本1 = SUBSTR($文本, 0, $POS1);
$文本2 = SUBSTR($文本, $POS2 + 7);
$文字= $文本1 . $ads_text . $文本2;
}
万一;
返回$文本;
}




/*******************************************************\
* 显示最后一个段落上方独大的AdSense广告 *
\*******************************************************/
的add_filter('内容', 'gads_added_above_last_para');

功能gads_added_above_last_para($ytext) {
如果( is_single() ) :
$yads_text ='<DIV CLASS ="一" 风格="文本对齐: 中央;"><DIV ID ="谷歌-2"></DIV><P类="明确: 两"></p></DIV>“;
如果($ypos1 = strrpos($ytext, “</p>“)){
$ytext1 = SUBSTR($ytext, 0, ($ypos1 + 4));
$ytext2 = SUBSTR($ytext, ($ypos1 + 4));
$ytext = $ ytext1 . $yads_text . $ytext2;
}
万一;
返回$ ytext;
}

Leave a Reply

5 条评论

SJ莎拉·琼斯

我不知道,但你的代码在我的情况下不起作用. 所以, 我用其他代码替换它. 如果其他人面临同样的问题, 那么你可以使用下面的代码.

函数插入广告块( $文本 ) {

如果 ( is_single() ) :

$ads_text ='我的广告代码这里“;
$split_by =“ n”;
$insert_after = 2; //段数

// 使段落阵列
$段落=爆炸( $split_by, $文本);

// 如果数组元素小于 $insert_after 在末尾设置插入点
$LEN =计数( $段落 );
如果 ( $只 < $insert_after ) $insert_after = $ LEN;

// 在指定点将 $ads_text 插入到数组中
array_splice( $段落, $insert_after, 0, $ads_text );

// 通过阵列和构建字符串输出回路
的foreach( $段落为 $paragraph ) {
$新文本 .= $ 段落;
}

返回$ NEW_TEXT;

万一;

返回$文本;

}
的add_filter('内容', “插入广告块”);

回复
MS马修·斯奈德

有没有办法做了之后说这 2ND 段,而不是之前的最后一个?

回复
JSJon Scaife

绝对. 你只需要稍微调整代码. 我使用 strrpos 其中发现的最后一次出现 <p>
如果你想找到的第二次出现 <p> 更换线路 13 从上面的代码与...

如果($POS1 = strpos($文本, “<p>“, 链球菌($文本, “<p>“) + 3)){
回复
JSJon Scaife

确定. 添加了几个 <HR />的 - 1 在 $ads_text 的值的开头,另一个在结尾.
例如. 更换

$ads_text ='<DIV CLASS ="一" 风格="文本对齐: 中央;"><script type="text/javascript"><!--
            google_ad_client = "ca-pub-0754629982287605";
            /* DMH-PostsMini */            google_ad_slot = "5138459326";
            google_ad_width = 468;
            google_ad_height = 15;
            //-->
            </脚本>
            <script type="text/javascript" SRC ="https://pagead2.googlesyndication.com/pagead/show_ads.js">
            </脚本></DIV>“;

$ads_text ='<HR /><DIV CLASS ="一" 风格="文本对齐: 中央;"><script type="text/javascript"><!--
            google_ad_client = "ca-pub-0754629982287605";
            /* DMH-PostsMini */            google_ad_slot = "5138459326";
            google_ad_width = 468;
            google_ad_height = 15;
            //-->
            </脚本>
            <script type="text/javascript" SRC ="https://pagead2.googlesyndication.com/pagead/show_ads.js">
            </脚本></DIV><HR />“;
回复