ここ数日、PHPでできたWordPressを理解するための記事を書いてきました。
- WordPress TwentySixteenのトップページをPHPコードを読み込んでみよう
- WordPressのテンプレートファイルとテンプレート階層について
- 「WordPress関数」の分類 「テンプレートタグ」との違いについて
今回の記事ではTwentySixteenのトップページ(index.php)をさらに理解するために、主要なPHPコードを順番に読み込んでいきましょう。
index.phpを読み込んでみよう
1.共通部分を表示するためのインクルードタグ
get_header().phpでheader.phpを、get_sidebar()でsidebar.phpを、get_footer()でfooter.phpを読み込みます。タグの場所と名前からして何をしているか、分かりやすいのではないでしょうか?
2.コンテンツ部分を表示するための条件文
次に確認するところは、if(have_posts()): ~ else: ~ endif; の条件文です。ここで投稿があるときと、投稿がないときの表示が変わることがなんとなく分かります。
3.コンテンツ部分を表示するための繰り返し文
while ( have_posts() ): 〜 endwhile; です。投稿があるかぎりループ内の処理を繰り返します。
4.ループをすすめるテンプレートタグ
the_post()という関数は、ループないの処理をひとつずつ進めるために存在します。このテンプレートタグがないと、無限ループにはまりWordPressサイト全体の表示がなされません。
5.投稿記事の読み込み
get_template_part()は任意のテンプレートファイルを読み込みます。ここでは、「template-partsフォルダのcontent.phpを読み込む」という意味になります。なぜget_post_format()が、content.phpを表すのかよく分かりませんが、WordPress Codexを読むとそういうことらしいです。
6./template-parts/content.phpを確認
主だったところとして、the_title()でタイトル表示を、twentysixteen_post_thumbnail()でサムネイル表示を、the_content()で投稿本文の表示をそれぞれ行います。
page.phpとsingle.phpについて
固定ページを表示するためのpage.php、個別投稿ページを表示するためのsingle.phpも、index.phpとほとんど同じ要領で読み込みます。ただし両者とも、ページのコンテンツ部分を表示するための、get_template_parts()の引数が異なります。
page.phpの場合、第2引数が’page’となります。
一方、single.phpの場合、’single’となります。
〔参考サイト〕