我在主页上显示了两篇帖子,并使用帖子分页来浏览以前的帖子。
我的问题是我想对最近的帖子的布局做一点修改。这听起来像是一个非常基本的问题,我已经看到了很多答案,但它们只解决了页面上第一篇帖子的问题,而不是实际的——唯一的——最近的帖子。
现在我试过这样的方法:
<?php if(have_posts()):?>
<?php $pcount = 0;?>
<?php endif;?>
<?php while (have_posts()): the_post(); ?>
<?php $pcount++;?>
<?php if($pcount < 2): ?>
/*some html changes*/
<?php endif; ?>
<? endwhile; ?>
这很有效。页面上的第一篇文章(默认情况下是最近的一篇)的布局已更改。但当我浏览到下一页时,我看到了相同的结果。第一篇帖子(实际上是最近的第三篇帖子,不是最近的),也被修改了。。。
那么,我的实际问题是:我如何检查帖子是否actually 最近的一个。不是页面上的第一个。
谢谢
最合适的回答,由SO网友:Tom J Nowell 整理而成
$pcount是指你在当前循环中浏览的帖子数量,而不是页面数量。
想一想循环在做什么,如果你在第2页,为什么会有来自第1页的帖子?这毫无意义,这是一个认为行不通的信号。
如果你所做的一切都能成功,那么:
while (have_posts()) {
the_post();
the_title();
}
将打印第2页上所有帖子的标题,
and 第1页。事实并非如此。主循环代码需要有某种提示,说明您的意图是什么,而实际上并非如此。
所以你的问题实际上是:
如何确定当前页面?
我们可以在这里看到答案:
https://stackoverflow.com/questions/1031442/finding-current-page-number-in-wordpress
即:
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;