PHP迭代计数时显示的序列不正确
这是一个wordpress项目,但实际上更像PHP。我正在执行一个查询,最多返回12篇帖子。每套三篇文章都包装在一个名为PHP迭代计数时显示的序列不正确,php,wordpress,iteration,Php,Wordpress,Iteration,这是一个wordpress项目,但实际上更像PHP。我正在执行一个查询,最多返回12篇帖子。每套三篇文章都包装在一个名为jobsN的div中。该div中的每个帖子(项目)返回为item1、item2和item3 item1类工作正常,但是jobs类没有返回为1-2-3-4。结果是1-0-0-0。我不知道我的伯爵出了什么问题 正如您从下面的HTML中所看到的那样,作业计数有问题。这一部分在这里处理: <?php if ($count == 3) {?></div>&
jobsN
的div中。该div中的每个帖子(项目)返回为item1
、item2
和item3
item1
类工作正常,但是jobs
类没有返回为1-2-3-4。结果是1-0-0-0。我不知道我的伯爵出了什么问题
正如您从下面的HTML中所看到的那样,作业计数有问题。这一部分在这里处理:
<?php if ($count == 3) {?></div><?php $count = 0; ?><div class="jobs
<?php echo $count; ?>"><?php }; ?>
使用这一行
您在PHP中使用了错误的计数器:
您的代码有以下行:
<?php if ($count == 3) {?></div><?php $count = 0; ?><div class="jobs<?php echo $count; ?>"><?php }; ?>
这一行就是问题所在:
<?php if ($count == 3) {?></div><?php $count = 0; ?><div class="jobs<?php echo $count; ?>"><?php }; ?>
尝试一下,但不能100%确定它是否有效
<?php
query_posts(array(
'post_type' => 'custom_job',
'showposts' => 12
) );
?>
<?php if ( have_posts() ): $contcount = 0; $count = 0;?>
<?php $contcount++; ?>
<div class="jobs<?php echo $contcount; ?>">
<?php while (have_posts()) : the_post(); $count++;?>
<div class="item-<?php echo $count ?>">
<h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
<p><?php echo get_the_excerpt(); ?></p>
<a href="<?php the_permalink() ?>">Learn more</a>
</div>
<?php if ($count == 3): ?>
<?php $count = 0; $countcount++;?>
<div class="jobs<?php echo $contcount; ?>"></div>
<?php endif; ?>
<?php endwhile; ?>
</div>
<?php endif; ?>
如果在输出之前增加$CONTCUNT,您将在第二个块中得到3,而不是2,它第一次在外部使用,而2将在下一次使用,请参见上文。我已在中更新了它,当它必须是echo时,请再次查看$contcount的问题值1在while循环外部使用,您编写的代码将在启动时放置1-1两次在这行上关闭}。解决了,我忘记添加“;”在$countcount的末尾。在第一个“endif”语法错误处检查已更正的代码行IT错误,意外的“endif”(T_endif)尽管变量为CONTCUNT,而不是COUNTCUNT,但仍然有效。所以,一旦我改变了它的工作:)永远不要使用query\u posts
。它是不可靠的,破坏了主查询,并且在大多数情况下在分页时完全失败。而是使用WP\u查询
<?php if ($count == 3) { ?></div><?php $count = 0; $contcount++; ?><div class="jobs<?php echo $contcount; ?>"><?php }; ?>
<?php if ($count == 3) {?></div><?php $count = 0; ?><div class="jobs<?php echo $count; ?>"><?php }; ?>
<?php if ($count == 3) {?></div><?php $count = 0; $countcount++; ?><div class="jobs<?php echo $countcount; ?>"><?php }; ?>
<?php
query_posts(array(
'post_type' => 'custom_job',
'showposts' => 12
) );
?>
<?php if ( have_posts() ): $contcount = 0; $count = 0;?>
<?php $contcount++; ?>
<div class="jobs<?php echo $contcount; ?>">
<?php while (have_posts()) : the_post(); $count++;?>
<div class="item-<?php echo $count ?>">
<h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
<p><?php echo get_the_excerpt(); ?></p>
<a href="<?php the_permalink() ?>">Learn more</a>
</div>
<?php if ($count == 3): ?>
<?php $count = 0; $countcount++;?>
<div class="jobs<?php echo $contcount; ?>"></div>
<?php endif; ?>
<?php endwhile; ?>
</div>
<?php endif; ?>