站点图标 主机格调

WordPress如何在文章后添加类似页码的相关文章?

不知道大家是否有留意,部分博客经常在文章最后带有分页功能,但是这些分页很多都是假的,点击这些页码往往都是跳到另一篇不相关的文章,这种做法估计是为了增加用户停留时间从而降低跳出率。要怎么才能实现这种功能?

前段时间在麦田故事网发现他的文章最后都带有页码,点击发现这些页码也是指向不同的文章,我们可以称之为“类似页码的相关文章”。这个站点的页码都是链接到相同的文章,估计是直接复制主题的文章页码然后修改地址后添加到 single.php 文件中。这种方法比较简单,但是太过千篇一律,对用户不太友好。

后来想起我们完全可以通过短代码的方式,在不同的文章通过短代码插入不同的 ID 文章,从而实现添加不同的相关文章到这些页码中。这里以Nana 主题为例进行说明:

添加 3 篇页码相关文章功能

直接编辑 Nana 主题的 functions.php 文件,找到以下代码(PS:记得将【】改为[])

  1. <ol class="linenums"><li class="L0"><span class="tag">&lt;option</span><span class="pln"> </span><span class="atn">value</span><span class="pun">=</span><span class="atv">"【lxtx_fa_insert_post ids=id1,id2】"</span><span class="tag">&gt;</span><span class="pln">插入站内文章</span><span class="tag">&lt;/option&gt;</span></li></ol><p>在它下方添加以下代码</p><ol class="linenums"><li class="L0"><span class="tag">&lt;option</span><span class="pln"> </span><span class="atn">value</span><span class="pun">=</span><span class="atv">"【boke112_insert_post idss=id1,id2,id3】"</span><span class="tag">&gt;</span><span class="pln">插入 3 篇页码文章</span><span class="tag">&lt;/option&gt;</span></li></ol><p>然后在 functions.php 文件最后添加一个 ?&gt;的前面添加以下代码</p><ol class="linenums"><li class="L0"><span class="com">//通过短代码添加 3 篇页码相关文章</span></li><li class="L1"><span class="kwd">function</span><span class="pln"> boke112_insert_posts</span><span class="pun">(</span><span class="pln">$attss</span><span class="pun">,</span><span class="pln">$contents </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">null</span><span class="pln"> </span><span class="pun">){</span></li><li class="L2"><span class="pln">extract</span><span class="pun">(</span><span class="pln"> shortcode_atts</span><span class="pun">(</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'idss'</span>&lt;span%20class="pln"&gt; <span class="pun">=&gt;</span><span class="pln"> </span><span class="str">''</span>&lt;span%20class="pun"&gt;),<span class="pln">$attss </span><span class="pun">)</span><span class="pln"> </span><span class="pun">);</span></li><li class="L3"><span class="pln">$contents </span><span class="pun">=</span><span class="pln"> </span><span class="str">''</span>&lt;span%20class="pun"&gt;;</li><li class="L4"><span class="pln">$postidss </span><span class="pun">=</span><span class="pln">  explode</span><span class="pun">(</span><span class="str">','</span>&lt;span%20class="pun"&gt;,<span class="pln"> $idss</span><span class="pun">);</span></li><li class="L5"><span class="pln">$id1</span><span class="pun">=</span><span class="pln">$postidss</span><span class="pun">[</span><span class="lit">0</span><span class="pun">];</span></li><li class="L6"><span class="pln">$id2</span><span class="pun">=</span><span class="pln">$postidss</span><span class="pun">[</span><span class="lit">1</span><span class="pun">];</span></li><li class="L7"><span class="pln">$id3</span><span class="pun">=</span><span class="pln">$postidss</span><span class="pun">[</span><span class="lit">2</span><span class="pun">];</span></li><li class="L8"><span class="pln">$contents </span><span class="pun">.=</span><span class="pln">  </span><span class="str">'&lt;div class="page-links"&gt;&lt;span&gt;1&lt;/span&gt;&lt;a rel="noopener" target="_blank" href="'</span>&lt;span%20class="pun"&gt;.<span class="pln">get_permalink</span><span class="pun">(</span><span class="pln"> $id1 </span><span class="pun">).</span><span class="str">'"&gt;&lt;span&gt;2&lt;/span&gt;&lt;/a&gt;&lt;a rel="noopener" target="_blank" href="'</span>&lt;span%20class="pun"&gt;.<span class="pln">get_permalink</span><span class="pun">(</span><span class="pln"> $id2 </span><span class="pun">).</span><span class="str">'"&gt;&lt;span&gt;3&lt;/span&gt;&lt;/a&gt;&lt;a rel="noopener" target="_blank" href="'</span>&lt;span%20class="pun"&gt;.<span class="pln">get_permalink</span><span class="pun">(</span><span class="pln"> $id3 </span><span class="pun">).</span><span class="str">'"&gt;&lt;span&gt;&lt;i class="fa fa-angle-right"&gt;&lt;/i&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;'</span>&lt;span%20class="pun"&gt;;</li><li class="L9"><span class="kwd">return</span><span class="pln"> $contents</span><span class="pun">;</span></li><li class="L0"><span class="pun">}</span></li><li class="L1"><span class="pln">add_shortcode</span><span class="pun">(</span><span class="str">'boke112_insert_post'</span>&lt;span%20class="pun"&gt;,<span class="pln"> </span><span class="str">'boke112_insert_posts'</span>&lt;span%20class="pun"&gt;);</li></ol>

以上$contents 的内容就是主题的文章分页代码,如果不是 Nana 主题的,请找一篇自己站点分页的文章,然后获取分页源代码后替换上述代码即可,记得保留上述代码中获取指定 ID 的链接地址代码哦。

页码相关文章的使用方法

直接在编辑文章的时候,将鼠标定位到文章最后,点击编辑器上方的“插入 3 篇页码文章”,然后将 id1,id2,id3 改为相应文章的 ID 即可(具体效果见本文最后的页码)。具体如下图所示:

ID 之间用英文逗号隔开,本文只是设置了 3 篇文章,如果需要添加不等于 3 篇文章的,请自行修改第 1 步的代码。PS:boke112 导航认为 3 篇文章是最适合的,显示 3 个页码加一个翻页按钮,看起来不累赘也不会过于简单。

总结

建议大家在使用这个“类似页码的相关文章”时,最好是添加跟本文内容相关的文章,这样才会最大限度地降低用户的反感,而且不建议每篇文章都添加,建议在适当的时候在某些文章上添加,这样才会起到意想不到的功效。同时,也不建议在分页文章中使用,要不然就会在最后一页中出现两个页码按钮,会显得特别突兀。

退出移动版