我正在检查下一篇文章是否属于同一类别。如果是,则输出链接。如果不是,则输出静态文本。我为此创建了一个函数:
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>
我意识到问题似乎在循环中。但我不知道如何让它工作。非常感谢您的帮助。
最合适的回答,由SO网友:tfrommen 整理而成
问题是next_post_link
实际打印链接。
如果要如上所述执行此操作,可以使用输出缓冲:
function thelink() {
ob_start();
next_post_link(\'%link\', \'Next →\', TRUE);
$next_link = ob_get_clean();
if ($next_link) echo $next_link;
else echo \'Next →\';
}