D-Gripに入社して早くも半年が過ぎようとしております。制作部の梨本です。
今回は少し真面目な話を・・・
最近ワードプレスに触れる機会をたくさんいただきまして、とても勉強になっております。だがしかし!!!
いかんせん難しい_:(‘Θ’ 」 ∠):_プルプルプル 自分のようにPHPの知識があまりない人間にとっては、全てがチンプンカンプンです。いつも某鈴木氏をはじめとする先輩方にお世話になりつつ奮闘しております。ひいい・・・
そこで私のような経験の浅い人でも理解できるように、初心者目線で少し解説を。なので、こんなん常識だろというツッコミは勘弁してください。
今回はワードプレスの基本の「き」である「ループ」についてざっくり解説致します!PHPが分からない人間が手探りで説明するので、ホントにざっくりです。ごめんなさい。
ワードプレスというのは文字通り、文章(Word)をどんどん積み重ねていく(Press)ものなので、ブログなどの大量のページを管理することに長けたツールです。なので似たような構成のページを繰り返し表示したり呼び出したりする作業が必要なわけですね。
そこで必要になってくるのが「ループ」です!!
基本的なループ:while文を使ったもの
<?php if ( have_posts() ) ・・・➀
while ( have_posts() ) : ・・・➁
the_post(); ?> ・・・➀
//ここにループの中身である記事を入れる
<?php endwhile; ・・・➁
php endif; ?> ・・・➀
【解説】
➀if(have_posts()) ・・・記事があるのかどうか
管理画面で入力した記事は、一旦データベースに保存されます。そこに記事をhaveしているのかどうか、確認しにいきます。
➁while(have_posts()) ・・・データから取り出した記事を実行
記事に関する全てのデータを取り出し実行します。データが仮にひとつしかなければ、処理は1回だけですが、複数ある場合はそれらを全て実行します。例えば、ブログなら「ブログタイトル」「画像」「ブログ記事」など、複数のデータが必要になってきますよね。
➂the_post() ・・・処理回数のカウントなど
データ何回処理したかをカウントし、取り出したデータがテンプレートタグできちんと扱えるよう処理します(詳しいことは自分もよく分かりません・・・)。
【実際の記事】
それでは実際に確認してみましょう。
<?php if (have_posts()) :
while (have_posts()) :
the_post(); ?>
<h2><?php the_title(); ?></h2>
<div><?php the_content(); ?></div>
<?php endwhile;
endif; ?>
はい、またよく分からない言葉が出てきました。
<?php the_title(); ?>とは記事のタイトルを表示してくれる便利なPHPです。
<?php the_content(); ?>は、記事本文を表示します。こちらについては、また追々ご紹介しようと思います。
よって、例えばこの記事の場合ですと、おなじみのCtrl+Uでよく見るいつものソースコード上では、
<h2>Wordpressのきほん―ループ処理</h2>
<div>
D-Gripに入社して早くも半年が過ぎようとしております。制作部の梨本です。
今回は少し真面目な話を・・・(ry
</div>
↑というhtmlになっているはずです。
本当にざっくりとですが、ループを簡単に説明するとこんな感じになります。
正直自分も理解が浅いので、なんとなくでしか説明できませぬ。ツラい・・・モヤモヤします・・・
ですが、あまりここで深追いし過ぎると一歩も進めないので、とりあえず「たくさんの記事を繰り返し表示するときに必要なものなんだあ」くらいの認識でいいのかもしれません。
ループには他にもいくつか種類があり用途によって使い分けるのですが、力尽きたのでここまでにさせていただきます。説明するのって難しい。ムムム(-“”-)
次回はもっとちゃんとした解説ができるようにがんばります!この記事がワードプレスをはじめたばかりの人にほんの少しでも役に立てばいいなあ(遠い目)