最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【已解决】给wordpress中Retina主题中的文章的Previous Post和Next Post,添加文章标题Title的显示

WordPress crifan 2329浏览 0评论

【已解决】给wordpress中Retina主题中的文章的Previous Post和Next Post,添加文章标题Title的显示

【背景】
wordpress中的retina主题中,打开某个文章,页面下方,只显示:
Previous Post和Next Post,但是却不显示对应文章的标题,偶觉得很不爽,
所以,打算添加对应的前后文章的标题显示。

【解决过程】
1.参考:
WordPress 主题制作技巧之一 [ 为 previous_post_link 等链接添加 title 属性 ]

以及又去查找对应的函数:
http://codex.wordpress.org/Function_Reference/previous_post_link
http://codex.wordpress.org/Function_Reference/get_permalink
http://codex.wordpress.org/Function_Reference/get_adjacent_post
后,搞懂了对应的代码逻辑,所以就可以去实现对应功能了:
【wordpress中的retina主题中,给单篇文章的Previous Post和Next Post添加对应的文章标题内容的显示】
去对应的wp-content\themes\retina\lib\structure\post.php中,将对应的函数retina_post_nav_single中的:

 previous_post_link( '%link', '<span class="meta-nav">&larr;</span> Previous Post' );
 $previous_post_link = ob_get_clean();
 
 ob_start();
 next_post_link( '%link', 'Next Post <span class="meta-nav">&rarr;</span>' );
 $next_post_link = ob_get_clean(); 

改为:

 //previous_post_link( '%link', '<span class="meta-nav">&larr;</span> Previous Post' );
    $previous_post = get_adjacent_post(false, '', true);
    $previous_post_title = $previous_post->post_title;
    $previous_link_str = sprintf( '<span class="meta-nav">&larr;</span>%1$s', $previous_post_title);
    previous_post_link( '%link',  $previous_link_str);
 $previous_post_link = ob_get_clean();
 
 ob_start();
 //next_post_link( '%link', 'Next Post <span class="meta-nav">&rarr;</span>' );
    $next_post = get_adjacent_post(false, '', false);
    $next_post_title = $next_post->post_title;
    $next_link_str = sprintf( '%1$s<span class="meta-nav"> &rarr;</span>', $next_post_title);
    next_post_link( '%link',  $next_link_str);
 $next_post_link = ob_get_clean();

即可实现对应的单独页面的下面,可以显示前一篇和后一篇的文章的标题了。
注:
此处暂时不支持同类别的文章显示。
有待以后改善添加,动态判断当前所打开的是哪个分类,然后对于prev和next的post,再去判断属于哪个分类,然后再去找到对应文章,显示对应的标题和链接。

转载请注明:在路上 » 【已解决】给wordpress中Retina主题中的文章的Previous Post和Next Post,添加文章标题Title的显示

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
83 queries in 0.166 seconds, using 22.08MB memory