首页 » 开源/框架 » WordPress » 正文

WordPress上一篇下一篇文章链接增加 Title 属性(支持只显示当前分类)

作主题的时候,为了好看些,把上一篇 下一篇的链接直接换成了 “上一篇” 和 “下一篇”,然而由于 previous_post_linknext_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 也可现实显示当前分类上下篇。
方法二虽然可以实现功能,但是版本升级之后这个文件可能会被替换,导致失效,因此推荐大家使用方法一~

本文共 8 个回复

  • PHP二次开发 2014/06/04 21:21

    不错的分享,赞一个。

  • 个人博客leiboy.com 2014/06/11 20:58

    实用,上一篇下一篇经常需要按自己的需求改

  • 笑话 2015/06/22 14:46

    博客很漂亮 :roll: , 请问如何才能显示子分类下的文章呢

  • O(∩_∩)O谢谢 2015/11/07 20:49

    最后一篇的时候再怎么才可以显示下面没有了

  • lerm 2016/08/16 13:57

    不错不错,拿来用了

发表评论