オリジナルのtheme(テーマ)を作る16:1カラムの固定ページテンプレートを作る
ブログなどの投稿するページ以外は1カラムにするので
固定ページのテンプレートを1カラムで作ります。
page.phppage.phpというファイル名の空のphpファイルをFTPでアップロードします。
テーマの編集画面でpage.phpを選択し、一番最初にテンプレート名を書きます。
<?php
/*
Template Name: テンプレートの名前
*/
?>
「テンプレートの名前」部分に、このテンプレートの名前を書きましょうー。
固定ページを作成するときに、使うテンプレートを選ぶことができます。
つぎに、テーマの編集画面からindex.phpの中身を丸ごとコピー、page.phpに貼り付けます。
固定ページなので、index.phpのままだと要らない部分があります。
pager、投稿日時、サイドバーなど、固定ページでは要らない部分を削除します。
<?php get_header(); ?>
<main id="main" role="main">
<div class="container">
<section>
<div class="row">
<div class="col-xs-12">
<?php if(have_posts()): while(have_posts()): the_post(); ?>
<article>
<h2><?php the_title(); ?></h2>
<div class="well well-lg">
<?php the_content(); ?>
</div>
<!--//well well-lg -->
</article>
<!--//article -->
<?php endwhile; endif; ?>
</div>
<!--//col -->
</div>
<!--//row -->
</section>
</div>
<!--//container -->
</main>
<!--//#main -->
<?php get_footer(); ?>
要らないところを削除して、1カラムにしました。
bootstrapを使ってますので、<div class="col-xs-12">この部分が1カラム用です。
<?php if(is_page()) : ?>ここは固定ページの内容だよ<?php endif; ?>
page.phpファイルを使わずにindex.phpで固定ページを生成する場合などで、
固定ページだけに表示させたい内容があるときは、上記テンプレートタグを記述します。
オリジナルのtheme(テーマ)を作る15:パーツごとに分ける(共通化)
これまで、ひたすら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 | コメント一覧、コメント入力フォームを出力 |
固定ページ | page-ID.php、page-スラッグ.php |
---|---|
カテゴリーごとのアーカイブページ | category-ID.php、category-スラッグ.php |
タグごとのアーカイブページ | tag-ID.php、tag-スラッグ.php |
ユーザーごとのアーカイブページ | author-ID.php、author-ナイスネーム.php |