对于小博客来说,放点广告,能回点主机、域名的成本,在不影响用户体验的情况下,也是应当的。毕竟做什么事情都是要有收益才能持久。今天也正好想到这个问题,于是搜了一下,顺手记录一下在 WordPress 中如何纯代码在指定的段落间插入广告。
实现方法
打开 function.php
,加入以下代码:
复制复制
复制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <span class = "com" > /** * WordPress 在文章内容中间插入广告 */ </span><span class = "pln" > </span><span class = "com" > //在文章内容的第二段后面插入广告</span><span class="pln"> add_filter</span><span class = "pun" >(</span><span class = "pln" > </span><span class = "str" > 'the_content' </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "str" > 'prefix_insert_post_ads' </span><span class = "pln" > </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "kwd" > function </span><span class = "pln" > prefix_insert_post_ads</span><span class = "pun" >(</span><span class = "pln" > $content </span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > $ad_code </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "str" > '<div>添加你的广告代码</div>' </span><span class = "pun" >;</span><span class = "pln" > </span><span class = "kwd" > if </span><span class = "pln" > </span><span class = "pun" >(</span><span class = "pln" > is_single</span><span class = "pun" >()</span><span class = "pln" > </span><span class = "pun" >&&</span><span class = "pln" > </span><span class = "pun" >!</span><span class = "pln" > is_admin</span><span class = "pun" >()</span><span class = "pln" > </span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "com" > // 修改 2 这个段落数</span><span class="pln"> </span><span class = "kwd" > return </span><span class = "pln" > prefix_insert_after_paragraph</span><span class = "pun" >(</span><span class = "pln" > $ad_code </span><span class = "pun" >,</span><span class = "pln" > </span><span class = "lit" >2</span><span class = "pun" >,</span><span class = "pln" > $content </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "kwd" > return </span><span class = "pln" > $content </span><span class = "pun" >;</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "com" > // 插入广告所需的功能代码</span><span class="pln"> </span><span class = "kwd" > function </span><span class = "pln" > prefix_insert_after_paragraph</span><span class = "pun" >(</span><span class = "pln" > $insertion </span><span class = "pun" >,</span><span class = "pln" > $paragraph_id </span><span class = "pun" >,</span><span class = "pln" > $content </span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > $closing_p </span><span class = "pun" >=</span><span class = "pln" > </span><span class = "str" > '</p>' </span><span class = "pun" >;</span><span class = "pln" > $paragraphs </span><span class = "pun" >=</span><span class = "pln" > explode </span><span class = "pun" >(</span><span class = "pln" > $closing_p </span><span class = "pun" >,</span><span class = "pln" > $content </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "kwd" > foreach </span><span class = "pln" > </span><span class = "pun" >(</span><span class = "pln" > $paragraphs </span><span class = "kwd" > as </span><span class = "pln" > $index </span><span class = "pun" >=></span><span class = "pln" > $paragraph </span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > </span><span class = "kwd" > if </span><span class = "pln" > </span><span class = "pun" >(</span><span class = "pln" > trim</span><span class = "pun" >(</span><span class = "pln" > $paragraph </span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > $paragraphs </span><span class = "pun" >[</span><span class = "pln" > $index </span><span class = "pun" >]</span><span class = "pln" > </span><span class = "pun" >.=</span><span class = "pln" > $closing_p </span><span class = "pun" >;</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "kwd" > if </span><span class = "pln" > </span><span class = "pun" >(</span><span class = "pln" > $paragraph_id </span><span class = "pun" >==</span><span class = "pln" > $index </span><span class = "pun" >+</span><span class = "pln" > </span><span class = "lit" >1</span><span class = "pln" > </span><span class = "pun" >)</span><span class = "pln" > </span><span class = "pun" >{</span><span class = "pln" > $paragraphs </span><span class = "pun" >[</span><span class = "pln" > $index </span><span class = "pun" >]</span><span class = "pln" > </span><span class = "pun" >.=</span><span class = "pln" > $insertion </span><span class = "pun" >;</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "pun" >}</span><span class = "pln" > </span><span class = "kwd" > return </span><span class = "pln" > implode</span><span class = "pun" >(</span><span class = "pln" > </span><span class = "str" > '' </span><span class = "pun" >,</span><span class = "pln" > $paragraphs </span><span class = "pun" >);</span><span class = "pln" > </span><span class = "pun" >}</span> |
可以修改其中的段落数为你想要的插入广告的位置,比如改成 3 那么就是在第三段后面插入广告。
总结
尝试了一下 Google Adsense 最新推出的文章内广告,发现效果还挺好的。