php技术博客
让天下没有搞不定的bug~

个性化实现wordpress上一篇下一篇

在百度知道经常会看到有人提问如何实现在文章的上方或下方有“上一篇 下一篇”这样的文章链接,我以前一直是把我主题自带的代码直接复制过去,一般是可以满足绝大多数用户的需求的,也就是说如果你的网站是使用wordpress搭建的,且使用的主题又没有提供这个功能,那么如下代码基本上可以满足你的需求了。

  1. <?php previous_post_link(‘【上一篇】%link’) ?><br/><?php next_post_link(‘【下一篇】%link’) ?>

将这段函数放到相关文章栏目所在层的上面或者下面即可,当然也可以紧跟正文。
今天看到一种很好看的“上一篇 下一篇”显示方法,这个没有显示任何汉字,就是一个符号,点击符号即可实现上一篇、下一篇文章的跳转,我一开始只是把上面那段函数中的汉字替换了要显示的符号,运气不好,木有成功,于是去找了一下关于这段函数的详细介绍:
previous_post_link 这个函数的功能是显示上一篇文章的链接,另一个函数next_post_link的作用是显示下一篇文章的链接,它们的原型是:

  1. <?php previous_post_link($format, $link, $in_same_cat = false, $excluded_categories = ”); ?>
  2. <?php next_post_link($format, $in_same_cat = false, $excluded_categories = ”); ?>

相关函数说明:
$format:格式化被显示的字符串,缺省值是”‘« %link”,第二个函数缺省值是”%link »”。
$link:被显示的字符串,缺省值是上一篇或下一篇的”$title”,也可以设置为其它你想显示的字符串。
$in_same_cat :表示是显式同一类别下的文章还是不区分类别的文章,缺省值false表示不区分类别,只以发帖的时间先后来确定。
$excluded_categories:表示在显示上一篇或下一篇时是否排除掉某分类,缺省不排除,如果排除,把分类ID列在此处,以英文逗号分隔。
通过对如上函数的学习,我把代码修改如下(将其放到主题文件single.php文件的<?php get_footer(); ?>前面):

  1. <div class=”menu1″><?php previous_post_link(‘%link’,’‹’) ?></div>
  2. <div class=”menu2″><?php next_post_link(‘%link’,’›’) ?></div>

对应的css代码是(放到主题文件style.css里面):

  1. .menu1 {font: 110px ‘Arial’;position: fixed;_position: absolute;top: 160px;left: 0;padding: 15px 15px 15px 15px;}
  2. .menu2 {font: 110px ‘Arial’;position: fixed;_position: absolute;top: 160px;rightright: 0;padding: 15px 15px 15px 15px;}
  3. .menu1 a,.menu1 a:link,.menu1 a:visited,.menu1 a:active,.menu2 a,.menu2 a:link,.menu2 a:visited,.menu2 a:active{color: #ccc;}
  4. .menu1 a:hover,.menu2 a:hover{color:#ff4f73;}

效果啥样,用了就知道,嘿嘿。
拓展:如果你的网站有好多分类,如果就用上面那段代码的话,下一篇的内容可能就是另外一个分类的,因此需要调整一下该函数,要求其显示的是本篇文章所在分类的上一篇、下一篇文章,这样对于用户体验还是蛮好的。
实现同分类下的上一篇、下一篇链接,只要在上面的基础上添加一个判断:true,当同分类下存在文章时就显示出来。代码如下

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

这段代码还加了一个判断语句,意思一看就能明白吧。

 技术分享,技术交流,小涛与您共同成长
赞(0)
未经允许不得转载:PHP技术博客 » 个性化实现wordpress上一篇下一篇