为博文后面添加上一篇下一篇文章链接


贝总要求, 在博文后面加入了 上一篇, 和下一篇博文的链接. 下一篇是比较新的 上一篇比较旧(时间比较早). 需要用到WP的两个函数, get_previous_postget_next_post. 需要通过 add_filter 对文章内容加上了过滤器 (在文章最后面/最前面) 添加上下博文链接.

直接上PHP代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
add_filter( 'the_content', 'show_next_prev_post_links' );
 
function show_next_prev_post_links($content) {
  $pages = '';
  if (is_single()) { // 只在文章页显示
    $prev_post = get_previous_post();
    if (!empty( $prev_post )) { // 上一篇博文 比较旧
        $pages .= "上一篇博文: <a href='/archives/".$prev_post->ID."'>$prev_post->post_title</a>";
    }  
    $next_post = get_next_post();
    if (!empty( $next_post )) { // 下一篇博文 比较新
        $pages .= " | 下一篇博文: <a href='/archives/".$next_post->ID."'>$next_post->post_title</a>";
    }
  } 
  return $content . $pages;
}
add_filter( 'the_content', 'show_next_prev_post_links' );

function show_next_prev_post_links($content) {
  $pages = '';
  if (is_single()) { // 只在文章页显示
    $prev_post = get_previous_post();
    if (!empty( $prev_post )) { // 上一篇博文 比较旧
        $pages .= "上一篇博文: <a href='/archives/".$prev_post->ID."'>$prev_post->post_title</a>";
    }  
    $next_post = get_next_post();
    if (!empty( $next_post )) { // 下一篇博文 比较新
        $pages .= " | 下一篇博文: <a href='/archives/".$next_post->ID."'>$next_post->post_title</a>";
    }
  } 
  return $content . $pages;
}

把上面代码 加入到 子主题 模块文件 functions.php 的最后即可. 清除缓存 WordPressCloudflare 的即可. 需要注意的是 get_previous_postget_next_post 只对文章有效, 对页面无效, 所以需要用 is_single 来判断是否是文章页.

需要注意的是 得根据情况 修改 上面代码中 上下博文的链接, 主要有三种方式:

  • guid
  • ID
  • post_title

HTML的人很多 我就不多说了. 这也是增加站点内链的一种方式, 兴许会有利于 搜索引擎优化呢. 贝总, 我对你是真爱啊.

英文: How to Add Next and Previous Posts Links in WordPress?

GD Star Rating
loading...
本文一共 265 个汉字, 你数一下对不对.
为博文后面添加上一篇下一篇文章链接. (AMP 移动加速版本)
上一篇: 酷我音乐捆绑安装就TM是一流氓软件
下一篇: 公司用 Slack 聊天工具

扫描二维码,分享本文到微信朋友圈
e109dc85c337ece3a5e13f5c60cd6cb5 为博文后面添加上一篇下一篇文章链接 SEO 搜索引擎优化 wordpress 小技巧

5 条评论

  1. 良凡

评论