Wordpress文章中添加上一篇、下一篇链接专题研究
2013-09-28 14:50
501 查看
这次L.Z制作了这个Wordpress文章中添加上一篇、下一篇链接专题研究,你可以从文章当中了解到如何在文章内页当中上一篇、下一篇链接,显示特定的分类下的上一篇、下一篇,以及利用add_filter随心所欲地在文章开头或者结尾添加内容。如:优搜网
2、这样添加的话,有一个非常大的问题就是如果是第一篇文章,或者是最后一篇文章,会出现上一篇,或者下一篇空白。
2、相关说明如下:
$format:格式化被显示的字符串,缺省值是”‘« %link”,第二个函数缺省值是”%link »”。
$link:被显示的字符串,缺省值是上一篇或下一篇的”$title”,也可以设置为其它你想显示的字符串。
$in_same_cat :表示是显式同一类别下的文章还是不区分类别的文章,缺省值false表示不区分类别,只以发帖的时间先后来确定。
$excluded_categories:表示在显示上一篇或下一篇时是否排除掉某分类,缺省不排除,如果排除,把分类ID列在此处,以英文逗号分隔。
3、于是相信大家都看出来了,实现同分类下的上一篇、下一篇链接,只要在上面的基础上添加一个判断:true,当同分类下存在文章时就显示出来。代码如下:
4、但是这里也有一个问题就是当指定了同分类下的上一篇、下一篇时,会依然显示空白,而不是输出代码中的“已经是最后文章”,所以我们还需要给特定的分类下指定ID就行了。代码如下:
2、利用add_filter添加。先来学习一个add_filter吧:
3、参数说明如下:
4、搞定了上面的,那么直接上函数,自己定义一个函数名称,然后利用add_filter执行,这里有一个好处就是当你的Wordpress存在多个add_filter时,你可以用优先级来决定优先关系。这样你添加的上一篇、下一篇链接可以保证在紧临文章后面。
5、将以下代码添加到你的Function.php文件中就行了。如下:
我利用add_filter解决了与缩略图插件、投票插件的冲突关系,保证了上一篇、下一篇在紧临文章后面。
2、上面主要是解决了像我这样的特殊情况,如果你也安装了关联文章插件、投票插件等在文章末尾显示,那么一定要用到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文章中添加上一篇、下一篇链接专题研究
- WordPress纯代码实现自动为文章添加标签及标签内链接
- WordPress用键盘左右方向键来查看上一篇和下一篇文章
- wordpress 为文章内容添加自动过滤,例如为出站链接添加nofollow,也可以将淘宝客链接转换。。
- WordPress文章自动提取tag并添加链接
- 三种代码为wordpress添加上一篇/下一篇功能
- Wordpress上一篇文章和下一篇文章
- 织梦限制文章页上一篇、下一篇文章标题字数
- 上一篇,下一篇链接代码
- 解决WordPress用404方法伪静态后文章列表分页链接错误的问题
- 测试一篇在word2010中发布的博客文章到wordpress和博客园
- 去掉wordpress功能中的登录,文章,评论,.org链接
- 经典sql-获取当前文章的上一篇和下一篇
- php ThinkPHP文章上一篇、下一篇解决方案
- WordPress非插件添加文章浏览次数统计功能
- 用代码实现为WordPress文章添加浏览次数(views)统计功能
- 织梦dedecms获取上一篇下一篇文章链接的方法
- 转载一篇好文章js实现动态添加和删除多个附件。
- 一篇还不错的介绍linux下的链接库的文章
- wordpress友情链接如何添加Nofollow标签