这次L.Z制作了这个Wordpress文章中添加上一篇、下一篇链接专题研究,你可以从文章当中了解到如何在文章内页当中上一篇、下一篇链接,显示特定的分类下的上一篇、下一篇,以及利用add_filter随心所欲地在文章开头或者结尾添加内容。如: 优搜网

一、 一般的添加上一篇、下一篇链接方法

1、这个方法几乎在所有的Wordpress主题中都可以看得到。一般是在Single.php文件中文章内容下方添加以下代码即可,如果你没有这个功能,可以自己添加。如下:

<?php previous_post_link('上一篇: %link') ?>
<?php next_post_link('下一篇: %link') ?>

2、这样添加的话,有一个非常大的问题就是如果是第一篇文章,或者是最后一篇文章,会出现上一篇,或者下一篇空白。

二、填补空白添加上一篇、下一篇链接方法

1、解决上面的问题,自然是添加一个判断输出了else,当出现没有上一篇或者下一篇时,就显示一句话,如下:

    <?php if (get_previous_post()) { previous_post_link('上一篇: %link');} else {echo "没有了,已经是最后文章";} ?><?php if (get_next_post()) { next_post_link('下一篇: %link');} else {echo "没有了,已经是最新文章";} ?>

三、显示同分类下的上一篇、下一篇链接方法

1、要想很好的理解这一原理,先来学习一下Wordpress的上一篇、下一篇的函数格式:

    <?php previous_post_link($format, $link, $in_same_cat = false, $excluded_categories = ''); ?><?php next_post_link($format, $in_same_cat = false, $excluded_categories = ''); ?>

2、相关说明如下:

$format:格式化被显示的字符串,缺省值是”‘« %link”,第二个函数缺省值是”%link »”。

$link:被显示的字符串,缺省值是上一篇或下一篇的”$title”,也可以设置为其它你想显示的字符串。

$in_same_cat :表示是显式同一类别下的文章还是不区分类别的文章,缺省值false表示不区分类别,只以发帖的时间先后来确定。

$excluded_categories:表示在显示上一篇或下一篇时是否排除掉某分类,缺省不排除,如果排除,把分类ID列在此处,以英文逗号分隔。

3、于是相信大家都看出来了,实现同分类下的上一篇、下一篇链接,只要在上面的基础上添加一个判断:true,当同分类下存在文章时就显示出来。代码如下:

<?php if (get_previous_post()) { previous_post_link('上一篇: %link','%title',true);} else { echo "没有了,已经是最后文章";} ?>
<?php if (get_next_post()) { next_post_link('上一篇: %link','%title',true);} else { echo "没有了,已经是最新文章";} ?> 

4、但是这里也有一个问题就是当指定了同分类下的上一篇、下一篇时,会依然显示空白,而不是输出代码中的“已经是最后文章”,所以我们还需要给特定的分类下指定ID就行了。代码如下:

    <?php$categories = get_the_category();$categoryIDS = array();foreach ($categories as $category) {array_push($categoryIDS, $category->term_id);}$categoryIDS = implode(",", $categoryIDS);?><?php if (get_previous_post($categoryIDS)) { previous_post_link('上一篇: %link','%title',true);} else { echo "没有了,已经是最后文章";} ?><?php if (get_next_post($categoryIDS)) { next_post_link('上一篇: %link','%title',true);} else { echo "没有了,已经是最新文章";} ?>

四、添加同分类下的上一篇、下一篇链接代码

1、一般地如果你想在文章前面添加上一篇、下一篇,就找到Single.php文件中的<?php if (have_posts()) : while (have_posts()) : the_post(); ?>,紧临其后添加。

2、利用add_filter添加。先来学习一个add_filter吧:

<?php add_filter( $tag, $function_to_add, $priority, $accepted_args ); ?>

3、参数说明如下:

    $tag:$function_to_add 要HOOK的过滤器名称,默认是无。$function_to_add:当过虑器应用时调用的函数名称,默认是无。$priority:权重,多个add_filter存在时可以在这里决定优先级,默认是:10.$accepted_args:函数可以接受的文档数目。默认是:1.

4、搞定了上面的,那么直接上函数,自己定义一个函数名称,然后利用add_filter执行,这里有一个好处就是当你的Wordpress存在多个add_filter时,你可以用优先级来决定优先关系。这样你添加的上一篇、下一篇链接可以保证在紧临文章后面。

5、将以下代码添加到你的Function.php文件中就行了。如下:

    function uilikecn(){<?php$categories = get_the_category();$categoryIDS = array();foreach ($categories as $category) {array_push($categoryIDS, $category->term_id);}$categoryIDS = implode(",", $categoryIDS);?><?php if (get_previous_post($categoryIDS)) { previous_post_link('上一篇: %link','%title',true);} else { echo "没有了,已经是最后文章";} ?><?php if (get_next_post($categoryIDS)) { next_post_link('上一篇: %link','%title',true);} else { echo "没有了,已经是最新文章";} ?>}add_filter("the_content", "uilikecn",2);

我利用add_filter解决了与缩略图插件、投票插件的冲突关系,保证了上一篇、下一篇在紧临文章后面。

五、上一篇、下一篇链接小结

1、如果你只要想要为你的Wordpress的文章内页添加一个上一篇、下一篇,只要按照普通的实现方法就行了。不用管后面的复杂应用。

2、上面主要是解决了像我这样的特殊情况,如果你也安装了关联文章插件、投票插件等在文章末尾显示,那么一定要用到add_filter了。

Wordpress文章中添加上一篇、下一篇链接专题研究相关推荐

  1. antd option宽度自适应_WordPress文章中添加自适应宽度的表格——墨涩网

    WordPress文章中添加自适应表格,前面写文章的时候需要用到表格来表达阵列信息,但是在WordPress添加表格不想是在office中那样方便,需要借助插件或者代码才可以实现,今天分享一个不需要安 ...

  2. 三种代码为wordpress添加上一篇/下一篇功能

    WordPress没有内置"上一篇 下一篇"功能,可是这个功能却是我们经常用到的,它不仅可以提高网站的用户体验度,而且能留住访客的脚步,增加网站的PV值. 现在wordpress模 ...

  3. Html做文章查看上一篇下一篇功能,SDCMS文章添加上一篇、下一篇

    SDCMS是一款小型ASP内容管理系统管理开源程序,虽然是小型的,但是主要功能都俱备.在细节方面,该款开源程序没有对内置标签进行统一的管理,不方便日后功能的修改,如果需要修改或者添加,需要去官方网站上 ...

  4. ShopEx文章页增加上一篇下一篇功能

    在所有的文章页中,会经常发现都会有这么一个功能,能引导用户去查看上一篇文章或下一篇文章,而在ShopEx中,我DEZEND了一下文章模型,并没有找到上一篇这样的函数功能,因此,这就需要我们手动在对应的 ...

  5. java文章上一篇下一篇_每个人都必须阅读的10篇Java文章

    java文章上一篇下一篇 一个月前,我们发布了每个人都必须阅读的10篇SQL文章列表. 我们相信jOOQ博客上的文章列表将为我们的读者带来非凡的价值. jOOQ博客是一个专注于Java和SQL的博客, ...

  6. 在WordPress文章中插入表格的四种方法,史上最全

    https://boke112.com/4553.html/all td, tr {border: 1px solid #000000;text-align: center;padding: 10px ...

  7. ecshop调用文章显示上一篇下一篇_无需整理

    为什么80%的码农都做不了架构师?>>>    首先调用文章中的上一篇和下一篇语法为: 上一篇:{$next_article.title} 下一篇:{$prev_article.ti ...

  8. 用Java 实现文章内容上一篇下一篇功能

    ITDragon博客 用Java 实现文章内容上一篇下一篇功能,逻辑和分页不一样.效果和本页面底部一样.采用的是Spring data jpa SQL语句实现该功能 SQL 语句查询的是该数据的上一条 ...

  9. 如何修改dede文章页上一篇下一篇"没有了"

    dedecms上一篇下一篇调用标签: {dede:prenext get='pre'/} {dede:prenext get='next'/} 如何自定义织梦dedecms上一篇下一篇标签调用内容呢, ...

最新文章

  1. 手把手教你估算深度神经网络的最优学习率(附代码教程)
  2. Z 字形变换 C++实现 java实现 leetcode系列(六)
  3. 详细分析JVM内存模型
  4. 如何处理错误消息Please install the Linux kernel header files
  5. mongoDB的安装(一)
  6. selenium截取验证码图片
  7. vc可以实现对话框里显示html文档内容,也可以显示word内容吗,VC6中使用CHtmlView在对话框控制中显示HTML文档...
  8. 多年心路历程见证从技术小白到收获BAT等大厂研发offer,分享一些经验和感悟...
  9. 编程的一些小知识点总结
  10. Java并发之Condition接口
  11. Centos7完全卸载MySQL 安装 启动
  12. IDC 机房空调问题解决方案
  13. 恶魔奶爸语法7-9课
  14. 膝关节前交叉韧带重建术后取钉记
  15. 天下3各服务器最新互转查询,转服必看 大荒最新服务器火爆度排行榜
  16. mysql两个等号是什么运算符_什么是MySQL中的这个运算符=?
  17. mac提示“已损坏,无法打开。 您应该将它移到废纸篓“的终极解决方案
  18. Google全系列产品不再信任赛门铁克某款根证书
  19. SSM毕设项目计算机设计大赛优秀作品展示网站8c96d(java+VUE+Mybatis+Maven+Mysql)
  20. 【无标题】学习贪吃蛇代码

热门文章

  1. 会员电商直播+供应链+云平台吸引客户购买解决销售困难
  2. windchill服务器源文件,Windchill基础培训PLM系统.ppt
  3. 移动设备电池管理——各种电池技术的简介1
  4. vue 虚拟主机_Vue实现简单前后端分离(虚拟主机也可用)
  5. java okhttp3异常_Okhttp3相关的异常
  6. SSH2协议加密与连接过程
  7. Go实战--golang中使用echo框架中的HTTP/2、Server Push(labstack/echo、golang.org/x/net/http2)
  8. Java 实现MP3文件信息读取
  9. 使用Go语言播放Mp3文件
  10. c语言中如何将字符串转成16进制,用c语言写一个函数把十进制转换成十六进制,该如何处理...