簡體   English   中英

WordPress的PHP語法循環很奇怪

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM