今回はよくWordpressにも登場してきた
foreachです!
(つっこみ大歓迎なので何か気がついたことがあれば
なんなりとよろしくお願いします☆)
とりあえずWPで使ったコードで自分なりに分析しようかと思います。
<?php $posts = get_posts(‘numberposts=5&category=’.NEWS);
foreach($posts as $post) :setup_postdata($post); ?>
<div><?php the_time(‘Y年m月d日’); ?></div>
<h3><?php the_title(); ?></h3>
<p><?php the_content(); ?></p>
<?php endforeach; ?>
えーと、これはWPを勉強した人には
わかるコードだと思いますが、
「何?これ?」と言う方のために少し解説しますと…
これはサイトのトップページに新着情報を表示するために私が書いたコードです。
get_posts()というのは関数で、()の中の条件を満たした
コンテンツ&データを持ってきてくれます。
えーと、イメージとしては
get_postsという名前のお店屋さんが
お客さんの注文、()の中身の商品をとってきてくれる、
って感じでしょうか。
で、その商品(データ)を$postsという買い物カゴ(変数)に
入れるっていうのが、
$posts = get_posts(‘numberposts=5&category=’.NEWS);
のところかな、と。
でもget_postsはあくまでも$postsという変数にいれただけ。
で、次はどうするの?って話ですよね。
ここでforeachくんが登場!
●日付<?php the_time(‘Y年m月d日’); ?>
●タイトル<?php the_title(); ?>
●文章<?php the_content(); ?>
foreachくんは、$postsに入ってる↑このデータを
ループして(繰り返して)とりだしてくれるってイメージで
よいのかしら。たぶん…
で、foreachくんはすこしこだわりが強いらしく
get_postsくんが入れた$postsという買い物カゴでは
自分の仕事をしづらいらしいです。
なので$postsから$postという変数にデータを入れて仕事します。
($posts as $post)
そしてその後の
setup_postdata($post);
↑コレなんですが、これは本によると
「整形してテンプレートタグで出力してくれる」んだそう。
そうかー、なんか前よりもイメージできるようになりましたー。


