【今更聞こうよWordPress!第2回 「while構文」編】 個人投資家のFIREへの旅路 第143夜
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 = 題名
つまり、
「投稿を表示する」
「投稿の題名を表示する」
の意味ですね!!
なので、このコードの意味は、
<?php while(have_posts( )): ?>
<?php the_post(); ?>
<?php the_title(); ?>
<?php endwhile; ?>
「投稿がある間中、投稿を表示して、投稿のタイトルを表示してね」
となります。
理解としては、これで良いのですが、細かくいうと、
the_post は、ループを次の投稿へ進める
という役割があります。
この役割で、次の投稿を探してくれて、それがなければ、ループが終わるというコードが成り立ちます。
これも、一応理解しておきましょう!
そして、このコードの書き方は、以下のように書き換えるのが一般的なようです!
<?php while(have_posts( )): the_post(); ?>
<?php the_title(); ?>
<?php endwhile; ?>
というわけで、while構文を書いておけば、投稿が追加されればされた分だけ、投稿を表示してくれるというわけです。
これが、通常のhtmlでかいたサイトであれば、
新しい投稿をするたびに、コード追加したり、リンクを書いたりする必要が
出てきます。
これをWordPressでは、テンプレートタグと、PHPを使って、簡単に自動で、書き換えてくれるのです!
【まとめ】
WordPressの学習を進めていますが、
どうしても断片的な進行になるので、WordPressでサイトを構築する際に
ポイントとなるところをまとめます!
・PHPがどんな動きをするかとか、何が便利なのかを理解すること!
・WordPress独自のテンプレートタグを知ること!
・これら2つの組み合わせ方と、使い所を学ぶこと!
これです!
おそらくわかってしまえば、めちゃめちゃ便利で簡単に、
様々なものを実装できます!
挫折してもまた立ち上がりましょう!
この記事が気に入ったらサポートをしてみませんか?