检查下一篇文章是否可用,并输出一个链接

时间:2013-03-28 作者:Mubashar Aftab

我正在检查下一篇文章是否属于同一类别。如果是,则输出链接。如果不是,则输出静态文本。我为此创建了一个函数:

function thelink() {
    $next_link = next_post_link(\'%link\', \'Next →\', TRUE);
    if($next_link){
        echo $next_link;
    } else{
        echo \'Next →\';
    }
}
然后,我将其列出如下:

echo \'<ul>\';
echo \'<li>\';
thelink();
echo \'</li>\';
echo \'</ul>\';
问题是,输出同时包含链接和静态文本。但它确实检查了帖子。发生的情况如下:

如果这不是最后一篇文章,则输出如下,渲染接下来的两次。一次使用链接,然后是静态文本:

<li><a href="urlofthenextpage" rel="next">Next →</a>Next →</li>
如果这是最后一篇文章,则输出仅为静态文本:

<li>Next →</li>
我意识到问题似乎在循环中。但我不知道如何让它工作。非常感谢您的帮助。

1 个回复
最合适的回答,由SO网友:tfrommen 整理而成

问题是next_post_link 实际打印链接。

如果要如上所述执行此操作,可以使用输出缓冲:

function thelink() {
    ob_start();
    next_post_link(\'%link\', \'Next &rarr;\', TRUE);
    $next_link = ob_get_clean();
    if ($next_link) echo $next_link;
    else echo \'Next &rarr;\';
}

结束

相关推荐