Wordpress:在显示链接之前检查是否有先前的帖子

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Wordpress:在显示链接之前检查是否有先前的帖子相关的知识,希望对你有一定的参考价值。

我正在使用以下代码在我的Wordpress博客上显示“以前的帖子”链接。

     <nav>
            <ul>
                <li><?php previous_posts_link('Newer Entries &raquo;') ?></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:在显示链接之前检查是否有先前的帖子的主要内容,如果未能解决你的问题,请参考以下文章

在视图中显示之前检查 ListBoxFor selectedValues 是不是为空?

管理员链接显示 404 WordPress

WordPress - 检查用户是不是登录

如何在同一页面上调用具有先前实例的浏览器选项卡

Wordpress 错误:尝试更改永久链接,但显示错误

wordpress:如何检查 slug 是不是包含特定单词?