テンプレートファイルの分割

サブページのテーマ作成」で1ファイルで作成したテンプレートを、各パーツごと別々のファイルに分割します。

パーツ分け

index.phpの内容を下図のように「header.php」「sidebar.php」「footer.php」の3ファイルに分割して、index.phpと同じ階層に保存します。

index.php

index.phpから別ファイルに移動した箇所には、それぞれget_header()get_sidebar()get_footer()のインクルードタグを記述します。

 インクルードタグ  get_header($name)

テーマディレクトリ内のheader.phpファイルを読み込みます。
パラメータをget_header(‘name’)と設定した場合は、header-name.phpファイルを読み込みます。
ディレクトリ内にheader-name.phpファイルが存在しない場合は、header.phpファイルを読み込みます。
公式マニュアル

 インクルードタグ  get_sidebar($name)

テーマディレクトリ内のsidebar.phpファイルを読み込みます。
パラメータの仕様はget_header()と同じです。
公式マニュアル

 インクルードタグ  get_footer($name)

テーマディレクトリ内のfooter.phpファイルを読み込みます。
パラメータの仕様はget_header()と同じです。
公式マニュアル

header.php

グローバルナビゲーション用に作成した配列$siteNavはfooter.phpでも流用していますので、テンプレートファイルをまたぐ場合は「global $siteNav;」の1行を追加します。

sidebar.php

footer.php

header.phpで作成した配列&siteNavをfooter.phpでも流用できるように、foreach文の前に「global $siteNav;」を追加します。

page.php(固定ページテンプレート)の追加

固定ページ用のテンプレートファイルpage.phpをindex.phpと同じ階層に追加します。

index.phpファイルを複製してpage.phpにリネームし、内容を次のように書き換えればOKです。

  • the_title()の行を削除
  • the_content()の行を次のように書き換え

<?php if(get_the_content()): ?>
    <div class=”entryContent”><?php the_content(); ?></div>
<?php else: ?>
    <div class=”entryContent commingsoon”>ただいま準備中です。</div>
<?php endif; ?>

 ファンクション  get_the_content()

ループ内で記事本文(コンテンツ)を取得します。
公式マニュアル

sytle.cssにスタイルを追加

固定ページ共通のスタイルをstyle.cssに追加します。

コードを表示

記事本文が未入力の場合、プレビューすると次のようになります。

functions.phpの追加

separate_template05index.phpと同じ階層にfunctions.phpファイルを追加します。

functions.phpには今後の手順でテーマ独自のファンクション(関数)を追加していきますが、まず最初に以下の記述を追加しておきます。

▼functions.php

上記のコードで</head>の直前に追加したwp_head()の箇所に自動挿入されるコードから、WordPressのバージョン情報を除外します。
バージョン情報の非表示はハッキングのリスクを減らすためのセキュリティ対策の一環です。

 


【次の手順→】 トップページとサブページのカスタマイズ
【←前の手順】 固定ページの新規追加と編集

PR

DO WP 管理人