前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WordPress 获取上一篇下一篇文章的标题和链接

WordPress 获取上一篇下一篇文章的标题和链接

原创
作者头像
主机优惠教程
发布2022-04-10 05:45:19
6520
发布2022-04-10 05:45:19
举报

如何获取到 WordPress 上一篇下一篇文章的链接,我马上想到了 previous_post_link() 和 next_post_link() 函数,这两个函数是输出 WordPress 上一篇下一篇文章的代码,通过查看其 API 文档,发现并没有直接获取链接的方式,整个函数是直接输出的。

https://www.wenjiangs.com/article/wordpress-previous-next-post-link.html
https://www.wenjiangs.com/article/wordpress-previous-next-post-link.html

一般我们添加上一篇和下一篇文章时的代码是这样子的:

代码语言:javascript
复制
<?php previous_post_link('%link','<<') ?>
<?php next_post_link('%link','>>') ?>

该代码最终解析出来的代码大概如下:

代码语言:javascript
复制
<a href="……" rel="external nofollow" rel="external nofollow" > …… </a>
<a href="……" rel="external nofollow" rel="external nofollow" > …… </a>

这样子的结构是非常简单,如果我要增加 title、target 等属性值时,单靠上面两个函数是办不到的。

其实要解决这个问题很简单,不知道大家有没有接触到这两个函数:get_previous_post、get_next_post。通过这两个函数我们可以获取到上一篇和下一篇文章的相关信息。

大家可以到官网看看这两个函数的介绍。

代码语言:javascript
复制
<?php $prev_post = get_previous_post();$next_post = get_next_post();?>

上一篇文字:

代码语言:javascript
复制
<?php echo $prev_post->post_title; ?>

上一篇链接:

代码语言:javascript
复制
<?php echo get_permalink( $prev_post->ID ); ?>

下一篇文字:

代码语言:javascript
复制
<?php echo $next_post->post_title; ?>

下一篇链接:

代码语言:javascript
复制
<?php echo get_permalink( $next_post->ID ); ?>

好了,下面就来干货,说下解决问题的方法。只要将:

代码语言:javascript
复制
<?php previous_post_link('%link','<<') ?>
<?php next_post_link('%link','>>') ?>

替换成:

代码语言:javascript
复制
<?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 ); ?>"
rel="external nofollow" ><?php echo $prev_post->post_title; ?></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 ); ?>"
rel="external nofollow" ><?php echo $next_post->post_title; ?></a>
<?php endif; ?>

通过上面的替换,问题就完美解决了。除了可以添加 title 属性外,大家如果有需要也可以加上新窗口打开的属性:target:"_blank"。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档