【 WordPress 】 「while構文」

WEB-designWordPress

WordPressでオリジナルのテーマを作るのに必要となるPHP。

その中でも必須の構文、while構文の使い方を学びましょう!!

 

<?php while(have_posts()):?>
・命令
・命令
・命令
<?php endwhile;?>

これがループと呼ばれる構文で、

have_posts( )はWordPress独自のテンプレートタグです。

この構文の意味は、英語を直訳すれば超簡単です。

while = その間

endwhile = 終わり その間 = while構文はここで終わり

なので、

<?php while(have_posts( )):>?

は、posts(投稿)がある間中

命令①を実行

命令②を実行

命令③を実行

してね

という意味。

で、そのループの終了地点が、

endwhile

ですね!

 

この構文は、whileとendwhileがセットです。

これ重要です。

PHPのコードの「 ; 」は、日本語でいうと、「 。」です。

文章の終わりを意味します。

 

なので、

<?php endwhile; ?>

の最後には、「 ; 」セミコロンがついています!

そしてよく見ると、

<?php while(have_posts( )):?> 

こちらの最後は、「 : 」これ、コロンです!

「;」セミコロンじゃないので、文章の途中ってことです。

これを間違えると、コードは動きませんので、気をつけましょう!!

【実際の使い方】

画像1を拡大表示

さて、while構文を知ったとろで、いつ使うねんという話!

使い所はこんな感じ!

<?php while(have_posts()):?>
  <?php the_post();?>
  <?php the_title();?>
<?php endwhile;?>

先程の説明に当てはめると、命令①、命令②の部分が

<?php the_post(); ?>
<?php the_title(); ?>

になりますね。

これは、WordPress独自のテンプレートタグです。

これも和訳すれば簡単、

post = 投稿

title = 題名

つまり、

「投稿を表示する」

「投稿の題名を表示する」

の意味ですね!!

なので、このコードの意味は、

「投稿がある間中、投稿を表示して、投稿のタイトルを表示してね」

となります。

 

理解としては、これで良いのですが、細かくいうと、

the_post は、ループを次の投稿へ進める という役割があります。

この役割で、次の投稿を探してくれて、それがなければ、ループが終わるというコードが成り立ちます。

これも、一応理解しておきましょう!

 

そして、このコードの書き方は、以下のように書き換えるのが一般的なようです!

<?php while(have_posts()):the_post();?>
 <?php the_title();?>
<?php endwhile;?>

というわけで、while構文を書いておけば、投稿が追加されればされた分だけ、投稿を表示してくれるというわけです。

これが、通常のhtmlでかいたサイトであれば、

新しい投稿をするたびに、コード追加したり、リンクを書いたりする必要

出てきます。

これをWordPressでは、テンプレートタグと、PHPを使って、簡単に自動で、書き換えてくれるのです!

 

 

【まとめ】

画像2を拡大表示

WordPressの学習を進めていますが、

どうしても断片的な進行になるので、WordPressでサイトを構築する際に

ポイントとなるところをまとめます!

 

・PHPがどんな動きをするかとか、何が便利なのかを理解すること!

・WordPress独自のテンプレートタグを知ること!

・これら2つの組み合わせ方と、使い所を学ぶこと!

これです!

おそらくわかってしまえば、めちゃめちゃ便利で簡単に、

様々なものを実装できます!

挫折してもまた立ち上がりましょう!