您可能已经注意到,我们已经调整了我们如何展示我们的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; }
我不知道,但你的代码在我的情况下不起作用. 所以, 我用其他代码替换它. 如果其他人面临同样的问题, 那么你可以使用下面的代码.
函数插入广告块( $文本 ) {
如果 ( 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('内容', “插入广告块”);
有没有办法做了之后说这 2ND 段,而不是之前的最后一个?
绝对. 你只需要稍微调整代码. 我使用
strrpos
其中发现的最后一次出现<p>
如果你想找到的第二次出现
<p>
更换线路 13 从上面的代码与...伟大的工作人. 多谢. 您知道如何在广告单元的上方和下方放置一条水平线?
确定. 添加了几个 <HR />的 - 1 在 $ads_text 的值的开头,另一个在结尾.
例如. 更换
同