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( )):?>
こちらの最後は、「 : 」これ、コロンです!
「;」セミコロンじゃないので、文章の途中ってことです。
これを間違えると、コードは動きませんので、気をつけましょう!!
【実際の使い方】
さて、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を使って、簡単に自動で、書き換えてくれるのです!
【まとめ】
WordPressの学習を進めていますが、
どうしても断片的な進行になるので、WordPressでサイトを構築する際に
ポイントとなるところをまとめます!
・PHPがどんな動きをするかとか、何が便利なのかを理解すること!
・WordPress独自のテンプレートタグを知ること!
・これら2つの組み合わせ方と、使い所を学ぶこと!
これです!
おそらくわかってしまえば、めちゃめちゃ便利で簡単に、
様々なものを実装できます!
挫折してもまた立ち上がりましょう!