Wordpress:在显示链接之前检查是否有先前的帖子
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Wordpress:在显示链接之前检查是否有先前的帖子相关的知识,希望对你有一定的参考价值。
我正在使用以下代码在我的Wordpress博客上显示“以前的帖子”链接。
<nav>
<ul>
<li><?php previous_posts_link('Newer Entries »') ?></li>
</ul
</nav>
问题是,当有任何以前的帖子时ARN'T,而链接没有显示,我仍然得到
<nav>
<ul>
<li><</li>
</ul
</nav>
打印出来。是否有一个if()语句我可以将它全部包裹起来,以便它检查是否有任何先前的帖子,并且仅在有的情况下将其打印出来?
答案
你可以尝试这样的事情
<?php
if($link = get_previous_posts_link()) {
echo '<ul><li>'.$link.'</li></ul>';
?>
如果没有任何先前的帖子,get_previous_posts_link
返回null(假值)。
另一答案
只是要清楚:
在我看来,科林的答案是不正确的。不推荐使用get_previous_post,previous_post是。
http://codex.wordpress.org/Function_Reference/get_previous_post http://codex.wordpress.org/Function_Reference/previous_post
对我来说,使用get_next_post对我来说仍然很好。
if(get_next_post()) { }
if(get_previous_post()) { }
另一答案
对于2013年检查此问题的人,不推荐使用get_previous_post。
http://codex.wordpress.org/Next_and_Previous_Links http://codex.wordpress.org/Function_Reference/previous_post
我以前用这个:/
if(get_next_post()) { echo 'next'; }
if(get_previous_post()) { echo 'last'; }
但现在我用这个:)
if(get_next_posts_link()) { echo 'next'; }
if(get_previous_posts_link()) { echo 'last'; }
另一答案
这些答案都不适合我。我这样解决了:
$next = get_permalink(get_adjacent_post(false,'',false)); //next post url
$prev= get_permalink(get_adjacent_post(false,'',true)); //previous post url
<?php if (get_the_permalink()!=$prev): ?>
<a href='<?php echo $prev ?>'>Previous</a>
<?php endif; ?>
<?php if (get_the_permalink()!=$next): ?>
<a href="<?php echo $next ?>">Next</a>
<?php endif; ?>
以上是关于Wordpress:在显示链接之前检查是否有先前的帖子的主要内容,如果未能解决你的问题,请参考以下文章