[英]Wordpress PHP Syntax Loop is strange
我在理解此代碼時遇到了麻煩。 我了解了“ wordpress-loop”的基礎知識,但我不了解其中的某些語法。 它幾乎看起來像一個三元運算符。
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<h1><?php the_title() ;?></h1>
<?php the_content(); ?>
<?php endwhile; else: ?>
<p>Sorry, this page does not exist</p>
<?php endif; ?>
特別是這條線
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
這是說確定。如果有帖子,而我們有帖子,請顯示帖子? 但是:的含義是什么。
它是控制結構的PHP替代語法 :
PHP提供了一些控制結構的替代語法。 即,是否,for,foreach和switch。 在每種情況下,替代語法的基本形式都是將左大括號更改為冒號(:),將右大括號更改為endif;,endwhile;,endfor;,endforeach;或endswitch;。
例:
if (condition) :
endif;
是相同的:
if (condition) {
}
具體地說,WordPress在說:如果我們有帖子,請遍歷每個帖子並獲取帖子。
這是一個縮進的版本要清楚:
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : ?>
<?php the_post(); ?>
<h1><?php the_title() ;?></h1>
<?php the_content(); ?>
<?php endwhile; ?>
<?php else: ?>
<p>Sorry, this page does not exist</p>
<?php endif; ?>
http://php.net/manual/en/control-structures.alternative-syntax.php
PHP提供了一些控制結構的替代語法。 即,是否,for,foreach和switch。 在每種情況下,替代語法的基本形式都是將左大括號更改為冒號(:),將右大括號更改為endif;,endwhile;,endfor;,endforeach;或endswitch;。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.