【发布时间】:2018-09-26 19:39:50
【问题描述】:
我知道这可能不是 WP 专属相关的问题,但我认为这里的问题是循环,我遗漏了一些东西。 我正在尝试创建一个自定义“存档”页面,在该页面中,我想使用循环设置我的帖子的样式,每组 4 个。 目前我有 10 个此类帖子,我认为不会更多,但我不能强迫任何事情,因为它们可以轻松增加或减少。
<div id="bun" class="bun sezmenu">
<?php $catquery = new WP_Query( 'category_name=bun&&posts_per_page=-1&&nopaging=true'); $et_npb = 1;$id = 37;$category = get_category($id);$count = $category->category_count;?>
<?php if ($catquery->have_posts() ) : while($catquery->have_posts()) : $catquery->the_post();?>
<?php if ($et_npb === 1 || $et_npb % 5 === 0 ){ echo '<div class="row">' ;};?>
<div class="col">
<div class="list__item list__item_ajax">
<a href="" title="<?php the_title();?>" class="umodal__open" umodal-src="<?php the_permalink();?>">
<img class="lazyload rounded-circle"
src="<?php echo get_stylesheet_directory_uri(); ?>/img/bn/bun.png"
data-src="<?php echo get_stylesheet_directory_uri(); ?>/img/bun.png"
height="128" width="128"
alt="<?php the_title();?>" />
</a>
</div><!-- list__item list__item_ajax -->
</div>
<?php ++$et_npb; if ($et_npb % 5 == 0 || $et_npb == $count){echo '</div>';};
endwhile;endif;?>
正如您在下图中看到的那样,有问题,我不知道是什么问题。 我是否正确使用该功能来计算该类别中的所有帖子?
我也尝试了这个工具来尝试了解 div 是打开还是关闭。
<divid="bun" class="bun sezmenu">
|<divclass="row">
| |<divclass="col">
| | |<divclass="list__item list__item_ajax">
| | |</div>
| |</div>
| |<divclass="col">
| | |<divclass="list__item list__item_ajax">
| | |</div>
| |</div>
| |<divclass="col">
| | |<divclass="list__item list__item_ajax">
| | |</div>
| |</div>
| |<divclass="col">
| | |<divclass="list__item list__item_ajax">
| | |</div>
| |</div>
|</div>
|<divclass="row">
| |<divclass="col">
| | |<divclass="list__item list__item_ajax">
| | |</div>
| |</div>
| |<divclass="col">
| | |<divclass="list__item list__item_ajax">
| | |</div>
| |</div>
| |<divclass="col">
| | |<divclass="list__item list__item_ajax">
| | |</div>
| |</div>
| |<divclass="col">
| | |<divclass="list__item list__item_ajax">
| | |</div>
| |</div>
| |<divclass="col">
| | |<divclass="list__item list__item_ajax">
| | |</div>
| |</div>
|</div>
|<divclass="row">
| |<divclass="col">
| | |<divclass="list__item list__item_ajax">
| | |</div>
| |</div>
|</div>
|<divid="piadina" class="piadina sezmenu">
|</div>
|<divid="crepe" class="crepe sezmenu">
|</div>
|<divid="dolci" class="dolci sezmenu">
|</div>
|<divumodal-id="umodal-1" class="umodal">
| |<divclass="umodal__inner">
| | |<divclass="umodal__content">
| | |</div>
| |</div>
|</div>
它说我在某处缺少 1 个标签,但这很明显,因为我的循环没有正确关闭所有 div。
它应该是这样工作的,但我想不通,它不能保持“硬编码”:
<div id="bun" class="bun sezmenu">
<?php $catquery = new WP_Query( 'category_name=bun&&posts_per_page=-1&&nopaging=true'); $et_npb = 1;$id = 37;$category = get_category($id);$count = $category->category_count;?>
<?php if ($catquery->have_posts() ) : while($catquery->have_posts()) : $catquery->the_post();?>
<?php if ($et_npb === 1 || $et_npb === 5 || $et_npb ===9){;?><div class="row"><?php };?>
<div class="col">
<div class="list__item list__item_ajax">
<a href="" title="<?php the_title();?>" class="umodal__open" umodal-src="<?php the_permalink();?>">
<img class="lazyload rounded-circle"
src="<?php echo get_stylesheet_directory_uri(); ?>/img/bn/bun.png"
data-src="<?php echo get_stylesheet_directory_uri(); ?>/img/bun.png"
height="128" width="128"
alt="<?php the_title();?>" />
</a>
</div><!-- list__item list__item_ajax -->
</div>
<?php ++$et_npb; if ($et_npb === 5 || $et_npb === 9 || $et_npb === $count+1){echo '</div>';};
endwhile;endif;?>
</div><!-- .sezmenu -->
【问题讨论】:
标签: php html wordpress loops count