为什么get_previous_post不返回null?

时间:2013-12-17 11:20:09

标签: php wordpress

我在Wordpress中有简单的脚本来获取上一篇和下一篇文章。 唯一的问题是,当没有先前的帖子时,prevoius帖子(第一篇文章)不会返回null。

脚本如下:

$prevPost = get_previous_post();
echo $prevPost->ID;

$nextPost = get_next_post();
echo $nextPost->ID;

现在的问题是,两个变量都获得相同的值(下一篇文章的id)。应该发生的是,$ prevPost应该返回null,因为之前没有帖子!

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

大概你可以做这样的事情

$prevPost = get_previous_post();
$nextPost = get_next_post();

if($prevPost->ID === $nextpost->ID)
{
  echo 'No Previous Post';
  echo $nextPost->ID;
}
else
{
  echo $prevPost->ID;
  echo $nextPost->ID;
}

或者只需要删除此行

echo 'No Previous Post';

答案 1 :(得分:1)

或者,您可以查看此插件:http://wordpress.org/plugins/ambrosite-nextprevious-post-link-plus/

它确实提供了“如果找不到下一个/上一个链接则返回false的选项,因此主题可以有条件地显示替代文本。”

希望它有所帮助。