让代码更简单

将谷歌广告插入到文章内容中间

重要:本文最后更新于2018-11-18 16:09:51,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

谷歌广告估计大部分站长都用过,没有用过的,就是在争取有资格使用。不得不说谷歌广告相比与国内的百度联盟广告、360、搜狗等广告联盟的广告要好得多,这个好不只是收益更高,还有广告内容广告质量上的差距。

Google Adsense有个非常厉害的功能,自动广告,只需要加入一段js,谷歌就会使用机器分析你的网站结构,然后给你自动放广告,简直是我这种懒虫的福音。自动广告虽然好,为什么我没用呢?因为它还不够智能,经常会出现打乱网站结构的情况。不过听说随着时间越长,谷歌自动广告就越智能,时间长了就会自动调整的,所以,今天我又把谷歌自动广告挂上去了,可能会影响到各位读者的浏览,还请见谅,毕竟服务器不便宜。

既然自动广告放不了,那就只能手动放单元广告了。很多主题都自带了广告位,代码狗博客的大前端主题也是自带了许多广告位,但总有不如意的。比如:文章页的广告位没有在文章中的,只能加在文章开始和结束的位置,严重影响了读者阅读,为了解决这个问题,我造访了度娘,看了她好一会儿找到了3种解决办法。

第一种、使用css把广告浮动起来

给广告代码加一层div,然后给这个div写样式,让它浮动起来,这样就可以实现文章内容的文字自动环绕广告显示,效果如图word排版中的图片环绕文字样式,比较好看。

第二种、使用WordPress钩子动态插入广告代码

WordPress提供的加载文章内容的钩子可以让我们实现替换文章内容的功能,因此,我们可以在文章内容中插入广告代码,具体代码如下,将下面代码复制粘贴到主题的函数库文件中,dux是function_theme.php文件。

复制
add_filter( 'the_content', 'prefix_insert_post_ads' );
function prefix_insert_post_ads($content){
$pattern = '/<p>.*?<\/p>/';
preg_match_all($pattern,$content,$jg); //计算文章的段落数量
$paragraph_count=count($jg[0]);
if($paragraph_count >= 4 && is_single()){//如果文章的段落数量少于4段,则不会插入文章段落广告
$paragraph_count -=2;
$insert_paragraph=rand(3,$paragraph_count);
$ad_code = '
<div>广告代码</div>
';
return prefix_insert_after_paragraph( $ad_code, $insert_paragraph, $content );
}
return $content;
}

// 插入广告所需的功能代码
function prefix_insert_after_paragraph( $insertion, $paragraph_id, $content ) {
         $closing_p = '</p>';
    $paragraphs = explode( $closing_p, $content );
    foreach ($paragraphs as $index => $paragraph) {
        if ( trim( $paragraph ) ) {
            $paragraphs[$index] .= $closing_p;
        }
        if ( $paragraph_id == $index + 1 ) {
            $paragraphs[$index] .= $insertion;
        }
    }
    return implode( '', $paragraphs );
}
将谷歌广告插入到文章内容中间

将谷歌广告插入到文章内容中间

到此,你的广告就会自动添加到文章中间,独占一行,并且可以自行添加样式。

第三种、使用谷歌自动广告的文章内嵌广告

这个方法是另一位站长告诉我的,我没有测试(因为我没找到),不过他的站谷歌广告就在文章中间,想来应该是没问题的。

 

感觉很棒!可以赞赏支持我哟~

6 打赏

评论 (4)

登录后评论
文章写得不错啊,赞一个
很专业,有深度的技术博客
自动广告开启文章内嵌广告即可
开启了的,不顶用,可能是觉得我的文章不够长吧。
QQ咨询 邮件咨询 狗哥推荐