从第一页开始继续数
Continue counting after page 1
我有这个简单的计数器php代码并在Wordpress中使用它。下面是代码:
$counter = 0;
while ($query->have_posts())
{query->the_post();$counter++;
效果很好。但是当我转到第2页时,计数器重置并从1
开始。有没有可能在第二页,第三页继续计数?
浏览器地址中的url为:/?sf_paged=2
为第2页,/?sf_paged=3
为第3页等…
是否有一些if
代码我可以做,如:
if $url = /?sf_paged=2 {
$counter2++; }
else if $url = /?sf_paged=3 {
$counter3++; }
之类的?
像这样初始化你的计数器
$counter = $_GET['sf_paged'] ? intval($_GET['sf_paged']) * $posts_per_page : 0;
那么$counter++
就是你想要的。
如果您想获得查询中所有帖子的数量,使用:
$query->found_posts
如果你想看看从第1页到第n页有多少篇文章(其中'n'是当前页面),我建议使用一个简单的乘法:
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$postnum = $paged*$query->posts_per_page;
或者您可以尝试将其存储在$_GET参数,cookie或sessionStorage/localStorage中。:)
试试这个应该没问题
<?php
$i = 0; //counter
$post_in_page = 4; //number of posts in loop
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1; //pagi
$guide = "post_type=post&posts_per_page=$post_in_page"; //loop option
?>
<?php query_posts($guide.'&paged=' . $paged); while(have_posts()) : the_post(); ?>
<?php
$i++; //here counter
if(get_query_var('paged') != 1){ // here if current page not first page
echo get_query_var('paged')*$post_in_page+$i-$post_in_page; // that's it :D
}else{
echo $i;
}
?>
<li>
<?php echo get_the_title(); ?>
<br />
</li><!--End Loop-->
<?php endwhile; ?>
<ul class="pagnum">
<li><?php next_posts_link();?></li>
<li><?php previous_posts_link(); ?></li>
</ul><!--End pagnum-->
<?php wp_reset_query();?>
相关文章:
- 如何添加类,同时开始在文本字段中输入文本
- 为什么继续;语句冻结浏览器
- Canvas+svg路径动画,在路径中的特定点暂停一段时间,然后继续
- 继续使用javascript中的setTimeout
- 希望日期开始结束于while循环中的一个房间id的一个数组
- 当一些承诺失败时,如何继续使用$q.all()
- ng模型内的ng重复的ng重复开始
- 在HTML/JavaScript中,有没有一种方法可以在图像开始加载时知道图像的最终布局尺寸
- Tab键不会't继续chrome/IE11中的表单字段
- 如何让JS脚本在导航后继续运行(谷歌chrome控制台)
- 定时Ajax进程在用户离开页面后继续
- Yii2从点击链接开始加载模式
- Jquery幻灯片以一行左侧的图像开始,但我希望它从右端开始
- 从REST服务器和Coffeescapet前端开始
- 在编译阶段后创建新的DOM树,或者继续使用原始修改的DOM
- nodejs createReadStream从第n行开始
- 处理第三方库发送的ajax请求的开始和结束事件
- 从数组(切片)中提取x个项目,但如果到达末尾,则从头开始继续
- Raphael JS -鼠标悬停时开始/继续动画.鼠标离开时暂停动画
- 从第一页开始继续数