Dynadot 搬瓦工 腾讯云

WordPress 纯代码在文章内容指定位置插入广告

Sider GigsGigsCloud

对于小博客来说,放点广告,能回点主机、域名的成本,在不影响用户体验的情况下,也是应当的。毕竟做什么事情都是要有收益才能持久。今天也正好想到这个问题,于是搜了一下,顺手记录一下在 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 最新推出的文章内广告,发现效果还挺好的。

参考文献

Dynadot Hostwinds
赞(1)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《WordPress 纯代码在文章内容指定位置插入广告
文章链接:https://oldtang.com/103.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。