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