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

Php Wordpress:在显示链接之前检查是否有以前的帖子,php,wordpress,navigation,Php,Wordpress,Navigation,我正在使用以下代码在我的Wordpress博客上显示“以前的文章”链接 <nav> <ul> <li><?php previous_posts_link('Newer Entries &raquo;') ?></li> </ul </nav> 你可以试试这样的 <?php if($link = get_previous_po

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

     <nav>
            <ul>
                <li><?php previous_posts_link('Newer Entries &raquo;') ?></li>
</ul
</nav>


  • 你可以试试这样的

    <?php
        if($link = get_previous_posts_link()) {
            echo '<ul><li>'.$link.'</li></ul>';
    ?>
    
    
    

    get\u previous\u posts\u link
    如果没有任何以前的帖子,则返回null(falsy值)。

    对于2013年检查此问题的人,get\u previous\u post已经贬值

    我曾经用过这个:/

    if(get_next_post()) { echo 'next'; }
    if(get_previous_post()) { echo 'last'; }
    
    但现在我用这个:)

    我想说清楚:

    我认为科林的回答不正确。 get_previous_post未弃用,previous_post未弃用

    对我来说,使用get_next_post对我来说仍然很好

    if(get_next_post()) {  }
    if(get_previous_post()) {  }
    

    没有一个答案对我有用。 我是这样解决的:

    $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; ?>
    
    $next=get_permalink(get_next_post(false),,false))//下一篇文章url
    $prev=get_permalink(get_nexted_post(false),,true))//上一篇文章的url
    
    在WP WordPress 4.6.1中对我有效,它应该是
    =
    而不是
    =
    ?否@brasofilo;我知道这有点让人困惑。如果这样编写,则首先将
    get\u previous\u posts\u link()
    的结果赋给
    $link
    ,然后检查赋值(赋值的返回值就是被赋值的值),正如我在代码下面所说的,如果没有任何先前的post,函数将返回null,因此,在这种情况下不调用代码。需要将get_previous_posts_link()更改为get_previous_post_link()(单数“post”)
    if(get_next_post()) {  }
    if(get_previous_post()) {  }
    
    $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; ?>