オリジナルの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 コメント一覧、コメント入力フォームを出力
ページの種類(一部のページのIDやスラッグで出力を分ける)
固定ページ page-ID.php、page-スラッグ.php
カテゴリーごとのアーカイブページ category-ID.php、category-スラッグ.php
タグごとのアーカイブページ tag-ID.php、tag-スラッグ.php
ユーザーごとのアーカイブページ author-ID.php、author-ナイスネーム.php

オリジナルのtheme(テーマ)を作る14:固定ページを作る

固定ページを作ります。

固定ページは、左側の一覧にある「固定ページ」をクリック。
「新規追加」からタイトルと中身を記述して公開します。

ブログや日記のように記事を投稿してコメントが付いたりするページではなく、
サイトについて、お問い合わせ、会社概要、事業内容などを
固定ページで作る感じですね。
固定ページは、ウィジェットにも追加できます。

ウィジェットを使わずに固定ページの一覧を出力するには

<?php wp_list_pages(); ?>

上記のテンプレートタグで固定ページの一覧を出力できます。