【发布时间】:2016-12-10 20:49:36
【问题描述】:
我在我的网站上使用循环来显示当前帖子的上一个帖子永久链接。
<?php
global $post;
$current_post = $post;
for($i = 1; $i <= 30; $i++):
$post = get_previous_post();
setup_postdata($post); ?>
<?php if($post): ?>
<a href="<?php the_permalink(); ?>" title="post-<?php the_ID(); ?>" class="next_link">Next Posts</a>
<?php endif; ?>
<?php endfor;
wp_reset_postdata();
$post = $current_post;
?>
使用这个循环,我获得了 30 倍的“下一篇文章”链接。 我想要做的是只得到这个循环的最后一个结果。
目前,我使用 css 和 jquery 只显示最后一个链接,使用这个 css:
a.next_link {display:none}
a.next_link:last-child {display: block}
但你可以想象这不是一个好的解决方案。
我想运行循环并且只获取最后一个 $post。
有没有办法在我的循环中添加一些 php 以仅获取此循环的最后一个 $post ?
感谢您的帮助,
【问题讨论】:
-
在
endfor之后输出,而不是在内部。如果您不关心其他 29 个,为什么还要运行for? -
扔掉一个循环,只需
$post = get_previous_post();? -
@u_mulder,在这个循环之前,我在当前帖子上显示了 29 个帖子,所以我需要获取 30 个之前的帖子,然后只显示这 30 个帖子中的最后一个,然后转到我的下一个帖子邮政。向 get_previous_post() 函数添加偏移量是一个技巧。
-
@u_mulder 搞砸了?谢谢
标签: php wordpress for-loop postdata