Это для проекта wordpress, но на самом деле это больше PHP. Я выполняю запрос, чтобы вернуть максимум 12 сообщений. Каждый набор из трех столбов завернут в div под названием jobsN
. Каждый пост (элемент) внутри этого div возвращается как item1
, item2
и item3
.PHP итерация по счету показывает неправильную последовательность
Класс 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
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) {?></div><?php $count = 0; ?><div class="jobs<?php echo $count; ?>"><?php }; ?>
<?php endwhile; ?>
</div>
<?php endif; ?>
Вот HTML я вернусь:
<div class="jobs1">
<div class="item-1">
content
</div>
<div class="item-2">
content
</div>
<div class="item-3">
content
</div>
</div>
<div class="jobs0">
<div class="item-1">
content
</div>
<div class="item-2">
content
</div>
<div class="item-3">
content
</div>
</div>
<div class="jobs0">
<div class="item-1">
content
</div>
<div class="item-2">
content
</div>
<div class="item-3">
content
</div>
</div>
<div class="jobs0">
<div class="item-1">
content
</div>
</div
Никогда не используйте 'query_posts'. Это ненадежно, нарушает основной запрос и полностью не удается в большинстве ситуаций, когда дело доходит до разбивки на страницы.Скорее используйте 'WP_Query' –