首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于循环的div打开和关闭

基于循环的div打开和关闭
EN

Stack Overflow用户
提问于 2018-04-17 08:07:06
回答 1查看 55关注 0票数 0

我知道这可能不是一个WP独有的相关问题,但我认为这里的错误是循环,我遗漏了一些东西。我正在尝试创建一个自定义的‘存档’页面,在那里,使用循环,我想在4个组中设置我的帖子的样式。目前我在这个类别中有10个帖子,我不认为它们会更多,但我不能强制任何东西,因为它们可以很容易地增加或减少。

代码语言:javascript
复制
<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是打开的还是关闭的。

代码语言:javascript
复制
<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。

这就是它应该是如何工作的,但我不能弄清楚,它不能停留在‘硬编码’上:

代码语言:javascript
复制
<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 -->

EN

回答 1

Stack Overflow用户

发布于 2018-04-17 08:35:46

有时最简单的解决方案是遥不可及的,但这一次,我找到了我的解决方案!你对此有什么看法?还能改进吗?

代码语言:javascript
复制
<div id="bun" class="bun sezmenu">
<?php $catquery = new WP_Query( 'category_name=bun&&posts_per_page=-1&&nopaging=true'); $et_npb = 0;$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 === 0) || ($et_npb %4 == 0)){;?><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 %4 == 0) ||  ($et_npb === $count)){echo '</div>';};
        endwhile;endif;?>
</div><!-- .sezmenu -->
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49867918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档