Php 我是否需要将`endif`放在每个`if`条件语句下面,或者可以将它们组合在整个Blog循环的底部?
我刚刚在页面模板中插入了以下代码:Php 我是否需要将`endif`放在每个`if`条件语句下面,或者可以将它们组合在整个Blog循环的底部?,php,wordpress,if-statement,Php,Wordpress,If Statement,我刚刚在页面模板中插入了以下代码: <?php //First Loop $testBlog = new WP_Query( 'type=post&posts_per_page=1' ); if ( $testBlog->have_posts() ): while( $testBlog->have_posts() ): $testBlog->the_post();
<?php
//First Loop
$testBlog = new WP_Query(
'type=post&posts_per_page=1'
);
if ( $testBlog->have_posts() ):
while( $testBlog->have_posts() ): $testBlog->the_post();
get_template_part('format',get_post_format());
endwhile;
wp_reset_postdata();
//Second Loop
$newTestBlog = new WP_Query(
'type=post&posts_per_page=3&offset=0'
);
if ( $newTestBlog ->have_posts() ):
while( $newTestBlog ->have_posts() ): $newTestBlog ->the_post();
get_template_part('format',get_post_format());
endwhile;
wp_reset_postdata();
endif;
endif;
?>
可以用2个endif
s结束上述代码吗,因为有2个if
条件语句,或者在运行下一个条件语句之前,需要将endif
s直接放在其关联的条件语句下面吗
此外,我还将
testBlog
和newTestBlog
放入了代码中,因为我觉得它们需要解压。是这样还是可以复制?首先,如果使用if(表达式):
还需要endendif代码>始终。它相当于一个{
,您也必须使用}
关闭它
但是endif代码>语法应主要用于HTML代码的上下文,而不是仅用于PHP代码:
<?php if ($header == true): ?>
<h1>Header</h1>
<?php else: ?>
<p>paragraph</p>
<?php endif; ?>
while(表达式)也是如此:
和endwhile代码>等
看
下面是您编写代码的方式:
<?php
$testBlog = new WP_Query('type=post&posts_per_page=1');
if ($testBlog->have_posts()) {
while ($testBlog->have_posts()) {
$testBlog->the_post();
get_template_part('format', get_post_format());
}
wp_reset_postdata();
$newTestBlog = new WP_Query('type=post&posts_per_page=3&offset=0');
if ($newTestBlog->have_posts()) {
while ($newTestBlog->have_posts()) {
$newTestBlog->the_post();
get_template_part('format', get_post_format());
}
wp_reset_postdata();
}
}
是的,可以使用两个endifs。每个endif将对应于它遇到的上面的第一个if条件,该条件没有被另一个endif关闭。“但是endif;语法应该主要用于HTML代码上下文中,而不仅仅是PHP代码”为什么?没有技术原因,但代码可读性更高,这样的问题不会出现。这就是为什么它被认为是良好的开发人员实践。见UpdateWell,这是一个意见问题。我在问关于“应该”的问题。PSR-2似乎对这件事一无所知?我的第一句话是you awnser,其余的是你所说的PHP开发者社区的官方意见
<?php
$testBlog = new WP_Query('type=post&posts_per_page=1');
if ($testBlog->have_posts()) {
while ($testBlog->have_posts()) {
$testBlog->the_post();
get_template_part('format', get_post_format());
}
wp_reset_postdata();
$newTestBlog = new WP_Query('type=post&posts_per_page=3&offset=0');
if ($newTestBlog->have_posts()) {
while ($newTestBlog->have_posts()) {
$newTestBlog->the_post();
get_template_part('format', get_post_format());
}
wp_reset_postdata();
}
}
<?php
$testBlog = new WP_Query('type=post&posts_per_page=1');
if ($testBlog->have_posts()) {
while ($testBlog->have_posts()) {
$testBlog->the_post();
get_template_part('format', get_post_format());
}
wp_reset_postdata();
}
$newTestBlog = new WP_Query('type=post&posts_per_page=3&offset=0');
if ($newTestBlog->have_posts()) {
while ($newTestBlog->have_posts()) {
$newTestBlog->the_post();
get_template_part('format', get_post_format());
}
wp_reset_postdata();
}