どうも、にわじゅん(@niwajun_blog)です。
今回はWordPressのループについての学習記録です。投稿記事のタイトルや文章を表示できるテンプレートタグ(the_titleやthe_contentなど)は必ずループの中で使用しなければいけない事になっています。
さっそくですが、ループを使用してテンプレートタグを書いてみます。
<?php if (have_posts()): ?> // if文の開始
<?php while (have_posts()): the_post(); ?> // while文の開始
<?php the_title(); ?>
<?php endwhile; ?> //while文の終わり
<?php endif; ?> // if文の終わり
WordPressのif文
ループは基本的に2つのphpプログラム文で作られています。
1つ目が『if文』です。<?php if(have_posts()): ?> ~ <?php endif; ?>までが一つのプログラムで条件式などとも言われます。
まず、if( ):というのが条件式で、( )の中の値がtrue(有り)かfalse(無し)かによって次の処理を行うか行わないかを切り替える働きをします。次に( )内のhave_posts()は投稿記事の一覧情報を取得してきます。
if文を日本語にしてみると、
といった感じになります。
WordPressのwhile文
2つ目が『while文』です。<?php while(have_posts()): the_post(); ?> ~ <?php endif; ?>までがwhile文です。
while( ):がループ文で処理を繰り返す働きをします。( )内にhave_posts()があるので、記事情報を取得して記事の数だけ処理を繰り返す事になります。次にthe_post();は次の投稿へ進める働きがあります。
if文とwhile文を合わせて日本語にしてみると
といった感じですね。
実際にWordPressの記事を投稿してみて投稿タイトルをブラウザで確認してみましょう。ループ文の中には投稿記事のタイトルを表示させるテンプレートタグが記述してあります。
<?php if (have_posts()): ?>
<?php while (have_posts()): the_post(); ?>
<?php the_title(); ?>
<?php endwhile; ?>
<?php endif; ?>
投稿記事のタイトルや文章などを表示するテンプレートタグについては、こちらの記事を参考にしてみて下さい ↓
試しに3件の記事を作成しました。
ブラウザで確認してみると、3件分のタイトルが表示されていますね。
以上の処理をまとめると、『ループ処理で記事情報を取得し、記事タイトル表示を3回繰り返して処理した』という事になります。
今回はWordPressのループを使って投稿記事のタイトルを表示する方法でした。今回はここまでです。
コメント