我正在尝试创建一个单独的php文件,我可以用它来显示索引的内容或wordpress中的页面。这个问题不是wordpress特定的。
我有一个'while'需要在两个不同的地方关闭,具体取决于索引或页面是否正在显示。我试图用'if'
关闭'while'if (is_home()) { endwhile; }
// otherphp
if (is_page()) { endwhile; }
这不行。完整代码如下:
<section id="main">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php if (is_home()) : ?> <article <?php post_class() ?> id="post-<?php the_ID(); ?>"> <?php elseif (is_page()) : ?> <article class="post" id="post-<?php the_ID(); ?>"> <?php else : NULL; endif; ?>
<div class="entry">
<?php the_content(); ?>
</div>
</article>
<?php if (is_home()) { endwhile; } ?> <!-- ENDWHILE MUST BE HERE ON INDEX PAGE -->
<?php if (is_home()) : get_template_part('nav','default'); elseif (is_page()) : NULL; else : NULL; endif; ?>
<?php if (is_page()) { endwhile; } ?> <!-- ENDWHILE MUST BE HERE ON ALL OTHER PAGES -->
<?php endif; ?>
</section>
我意识到这段代码效率低下而且杂乱无章,但目前我并不专注于效率。我只是想让它发挥作用。
如何有条件地结束'while'?
答案 0 :(得分:3)
在正常while
:
while (/* something */) :
// same for all
if (/* is home */) {
// do something only for home
}
endwhile;