在文章内容中加入 Google AdSense / 谷歌广告的方法
在模板函数 (functions.php)中加入以下代码
1 在文章内容的第二段后出现 Google AdSense / 谷歌广告
add_filter( 'the_content', 'prefix_insert_post_ads' );
function prefix_insert_post_ads( $content ) {
$ad_code ='<div align="center">
<style>
.adsbygoogle-comment { width: 99%; height: 60px; padding: 1rem 0px }
@media(min-width: 500px) { .adsbygoogle-comment { width: 99%; height: 70px; padding: 1rem 0px} }
@media(min-width: 800px) { .adsbygoogle-comment { width: 99%; height: 70px; padding: 1rem 0px} }
</style>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- 广告单元5 -->
<ins class="adsbygoogle"
style="display:block; text-align:center;"
data-ad-layout="in-article"
data-ad-format="fluid"
data-ad-client="ca-pub-3422805437689454"
data-ad-slot="8030259996"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>';
if ( is_single() && ! is_admin() ) {
// 下面一行数字2代表段落
return prefix_insert_after_paragraph( $ad_code, 2, $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 );
}
2 在文章内容中随机出现 Google 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 >= 1 && is_single()){//如果文章的段落数量少于8段,则不会插入文章段落广告
$paragraph_count -=2;
$insert_paragraph=rand(3,$paragraph_count);
$ad_code ='<div align="center">
<style>
.adsbygoogle-comment { width: 99%; height: 60px; padding: 1rem 0px }
@media(min-width: 500px) { .adsbygoogle-comment { width: 99%; height: 70px; padding: 1rem 0px} }
@media(min-width: 800px) { .adsbygoogle-comment { width: 99%; height: 70px; padding: 1rem 0px} }
</style>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- 广告单元5 -->
<ins class="adsbygoogle"
style="display:block; text-align:center;"
data-ad-layout="in-article"
data-ad-format="fluid"
data-ad-client="ca-pub-3422805437689454"
data-ad-slot="8030259996"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</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 );
}