作主题的时候,为了好看些,把上一篇 下一篇的链接直接换成了 “上一篇” 和 “下一篇”,然而由于 previous_post_link
和 next_post_link
函数产出的链接不带有 Title 属性,导致在点开“上一篇” “下一篇”之前并不知道文章的标题,这样给人的体验不太好,今天抽空查了下方法,把这个小功能加上了。
方法一(推荐):
上一篇和下一篇的代码换成下面这样:
<?php $prev_post = get_previous_post(); if(!empty($prev_post)):?> <a title="<?php echo $prev_post->post_title;?>" href="<?php echo get_permalink($prev_post->ID);?>">上一篇</a> <?php endif;?> <?php $next_post = get_next_post(); if(!empty($next_post)):?> <a title="<?php echo $next_post->post_title;?>" href="<?php echo get_permalink($next_post->ID);?>">下一篇</a> <?php endif;?>
其中“上一篇” “下一篇”可以替换成 <?php echo $prev_post->post_title; ?>
和 <?php echo $prev_post->post_title; ?>
来直接显示文章标题。
方法二:
修改 /wp-includes/link-template.php
文件
找到 get_adjacent_post_link()
的定义位置(WP3.9.1版本在1822行,其他版本可以自己搜索下),把其中下面的代码
$string = '<a href="' . get_permalink( $post ) . '" rel="'.$rel.'">';
换成
$string = '<a href="' . get_permalink( $post ) . '" title="'.$title.'" rel="'.$rel.'">';
这样也可以实现此功能。
如果想只显示当前分类下的上一篇下一篇文章,可以给 get_previous_post() 和 get_next_post() 增加一个 TRUE 参数即可 及改成 get_previous_post(TRUE) 和 get_next_post(TRUE) 即可。如果使用的 previous_post_link() 和 next_post_link() 函数的话,把第三个参数设置为 TRUE 也可现实显示当前分类上下篇。
方法二虽然可以实现功能,但是版本升级之后这个文件可能会被替换,导致失效,因此推荐大家使用方法一~
PHP二次开发 2014/06/04 21:21
不错的分享,赞一个。
Specs 2014/06/04 22:31
@ 嘿嘿
个人博客leiboy.com 2014/06/11 20:58
实用,上一篇下一篇经常需要按自己的需求改
Specs 2014/06/12 08:55
@ 嗯是的 用这个方法就自己定制就容易了
笑话 2015/06/22 14:46
博客很漂亮 , 请问如何才能显示子分类下的文章呢
Specs 2015/06/23 09:21
@ 本来就能显示啊
O(∩_∩)O谢谢 2015/11/07 20:49
最后一篇的时候再怎么才可以显示下面没有了
lerm 2016/08/16 13:57
不错不错,拿来用了