PHP迭代计数时显示的序列不正确

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>&

这是一个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><?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; ?>