Google AdSense 是Google公司推出的一款面向广大站长的免费产品,通过在申请和绑定Adsense系统,获取广告代码并添加到网站,可以在上面展示广告,让站长实现创收。
而Google Adsense的自动广告功能是带有自动插入广告到文章段落的功能,这样可以更加让广告契合和融入文章,提高广告的点击率
但是很多时候自动广告不一定会在你的文章中投放广告,或者投放的概率,出现的次数较低,而我们又想手动的在文章内容段落中插入比较稳定显示的广告,可以通过添加下列代码来实现手动插入Adsense文章内嵌广告到wordpress博客,并且根据文章段落数量自动判断是否投放广告单元
创建文章中广告单元
对插入的广告分门别类是个好习惯,这样方便后期进行数据分析的时候知道哪个广告单元是应用在了哪个位置。跨境E站这边的习惯是每一个创建的广告单元都对其重命名来进行标记
插入代码到Function.php
将如下代码内容插入到主题目录下的function.php文件内,如果有启用子主题,则请直接插入到子主题目录下的 function.php文件内
代码内容:
//文章内容的随机段落中间插入adsense广告
add_filter( 'the_content', 'prefix_insert_post_ads' );
function prefix_insert_post_ads($content){
$pattern = "/<p>.*?<\/p>/";
$paragraph_count = preg_match_all($pattern,$content); //计算文章的段落数量
if($paragraph_count >= 8 && is_single()){//如果文章的段落数量少于8段,则不会插入文章段落广告
$paragraph_count -=2;
$insert_paragraph=rand(3,$paragraph_count);
$ad_code = '这里插入你的广告代码';
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 );
}
首先我们来看代码对文章长度的判断,以此作为依据来决定是否展示广告的设定
$paragraph_count = preg_match_all($pattern,$content); //计算文章的段落数量
if($paragraph_count >= 8 && is_single()){//如果文章的段落数量少于8段,则不会插入文章段落广告
默认是按8个段落来判断是否插入广告,这个地方根据自己的实际需要进行参数的修改
其次$ad_code = '这里插入你的广告代码'; 这里请插入你在Adsense后台创建的广告单元的广告代码,可以是展示广告或信息流广告
Adsense文章中广告样式的实际效果如下: