これまで、ひたすらindex.phpに書いてきましたが・・(笑)
header.phpとfooter.phpを分けたいなーと思います。
いよいよwordpressらしく!なってきましたね(*´ω`)
まず、空のheader.phpとfooter.phpを作って、FTPでアップロードします。
※空のままでOKよ
テーマの編集画面から、index.phpのヘッダー部分をコピーして、header.phpに貼り付けます。
同じように、index.phpのフッター部分をコピーして、footer.phpに貼り付けます。
※ヘッダー部分は、index.phpの先頭(<!DOCTYPE html>)からメイン(コンテンツ)部分の手前まで。
※フッター部分は、index.phpのメイン(コンテンツ)部分の下から最下部(</html>)まで。
<?php get_header(); ?>index.phpのヘッダー部分を上記の関数に書き換えます。
この記述部分にheader.phpの内容が組み込まれます。
<?php get_footer(); ?>index.phpのフッター部分を上記の関数に書き換えます。
この記述部分にfooter.phpの内容が組み込まれます。
パーツ分けできたら、ちゃんと表示されているか確認してみましょうー!
無事に、header.phpとfooter.phpのパーツ分けができたかな(^^)
wp_head関数
<head>
........
<?php wp_head(); ?>
</head>
header.phpに上記のようにwp_head関数を入れます。
wp_footer関数
........
<?php wp_footer(); ?>
</body>
footer.phpに上記のようにwp_footer関数を入れます。
Wordpressで基本的に読み込まれているJavaScriptやcssなど、ヘッダー部分やフッター部分に自動的に組み込まれます。
<?php body_class(); ?>
<body <?php body_class(); ?>>
bodyタグには、<?php body_class(); ?>を入れます。
body内で使われるWordpressのclassなどが自動的に組み込まれます。
<?php get_template_part('xxx','yyy'); ?>共通化するテンプレートは主にheader.php、sidebar.php、footer.phpなどがありますが、これらの他にテンプレートパーツが作れます。
テンプレートパーツは、ヘッダーやフッターとは別に、ページの一部分だけをテンプレートにして、他のテンプレートに組み込むものです。
たとえば、投稿のループ部分を共通化したい場合、loop.phpというテンプレートパーツのファイルを作り、組み込みたい位置に下記の記述をします。
<?php get_template_part('loop'); ?>
loop-top.php、loop-sub.phpのように、複数のテンプレートパーツを使い分ける場合の書き方は以下のようになります。
<?php get_template_part('loop', 'top'); ?>
<?php get_template_part('loop', 'sub'); ?>
ヘッダーを複数作ってページによって切り替えるヘッダーを複数作って、トップページとその他のページで表示するヘッダーを分ける、といったことも可能です。
その場合、たとえばheader-top.phpと、header-other.phpのように2種類テンプレートを用意します。
これらのヘッダーを組み込むときは、
<?php get_header('top'); ?>
<?php get_header('other'); ?>
のように、テンプレートの名前を入れます。
sidebar.phpやfooter.phpの場合も同様です。
テンプレートの種類(個々のページ)
トップページのテンプレート階層 |
front-page.php |
トップページを出力 |
home.php |
トップページを出力 |
index.php |
すべてのページを出力するようにできる |
投稿ページのテンプレート階層 |
single-post.php |
個々の投稿ページを出力 |
single.php |
個々の投稿ページを出力 |
singular.php |
個々の投稿ページと固定ページを出力(WP4.3以降) |
index.php |
すべてのページを出力するようにできる |
固定ページのテンプレート階層 |
カスタムテンプレート.php |
個々の固定ページを出力 |
page-スラッグ.php |
特定のスラッグの固定ページを出力 |
page-ID.php |
特定のIDの固定ページを出力 |
page.php |
個々の固定ページを出力 |
singular.php |
個々の投稿ページと固定ページを出力(WP4.3以降) |
index.php |
すべてのページを出力するようにできる |
カテゴリーアーカイブページのテンプレート階層 |
category-スラッグ.php |
特定のスラッグのカテゴリーアーカイブページを出力 |
category-ID.php |
特定のIDのカテゴリーアーカイブページを出力 |
category.php |
カテゴリーごとのアーカイブページを出力 |
archive.php |
様々なアーカイブ系ページを出力 |
index.php |
すべてのページを出力するようにできる |
年別・月別・日別アーカイブページのテンプレート階層 |
date.php |
年月日ごと等のアーカイブページを出力 |
archive.php |
様々なアーカイブ系ページを出力 |
index.php |
すべてのページを出力するようにできる |
タグアーカイブページのテンプレート階層 |
tag-スラッグ.php |
特定のスラッグのタグアーカイブページを出力 |
tag-ID.php |
特定のIDのタグアーカイブページを出力 |
tag.php |
タグごとのアーカイブページを出力 |
archive.php |
様々なアーカイブ系ページを出力 |
index.php |
すべてのページを出力するようにできる |
ユーザーアーカイブページのテンプレート階層 |
aothor-ナイスネーム.php |
特定のナイスネームのユーザーアーカイブページを出力 |
aothor-ID.php |
特定のIDのユーザーアーカイブページを出力 |
aothor.php |
ユーザーごとのアーカイブページを出力 |
archive.php |
様々なアーカイブページを出力 |
index.php |
すべてのページを出力するようにできる |
その他のページのテンプレート |
search.php |
検索結果のページを出力 |
404.php |
Not Foundページを出力 |
index.php |
すべてのページを出力するようにできる |
テンプレートの種類(共通部分を出力)
header.php |
ヘッダー部分を出力 |
footer.php |
フッター部分を出力 |
sidebar.php |
サイドバーを出力 |
searchform.php |
検索フォームを出力 |
comments.php |
コメント一覧、コメント入力フォームを出力 |
ページの種類(一部のページのIDやスラッグで出力を分ける)
固定ページ |
page-ID.php、page-スラッグ.php |
カテゴリーごとのアーカイブページ |
category-ID.php、category-スラッグ.php |
タグごとのアーカイブページ |
tag-ID.php、tag-スラッグ.php |
ユーザーごとのアーカイブページ |
author-ID.php、author-ナイスネーム.php |