ホーム >  WordPress >  【WordPress】テーマファイルの構成は単純です【構成】


Posted:2014/06/25 6:00:08 PM|Category : WordPress

【WordPress】テーマファイルの構成は単純です【構成】


 WordPressのテーマ構造を理解すれば、テーマ作成がより簡単になります。WordPressのテーマファイルがどのように連結して動作しているか紹介します。

目次

1.WordPressがテーマを認識には?
 テーマを構成する必須ファイル
 テーマファイルと認識される条件
2.テーマファイルの構成
 構成するファイルについて
3.ファイル同士を結合するには?
 ソース
 任意のファイルを結合する

1.WordPressがテーマを認識には?

テーマを構成する必須ファイル

 WordPressのテーマは、多くのファイルを使って作りますが、テーマを成立させているのは以下の2つの必須ファイルです。

index.php

style.css

テーマファイルと認識される条件

 例えば「Twenty Thirteen」と呼ばれるテーマは、「Twenty Thirteen」という名のディレクトリがあるだけでは成り立ちません。WordPressは、「index.php」と「style.css」を「Twenty Thirteen」ディレクトリに設置したことによりテーマとみなされます。

 また、ディレクトリ以外に限らず、以下の条件でWordPressがテーマとみなします。

特定のディレクトリに設置する

特定のファイル名(「index.php」と「style.css」いう名前)にする

特定の宣言をソースコードに記述する

2.テーマファイルの構成

WordPressテーマファイルの図

wordpress080

構成するファイルについて

 もっと多くのファイルが存在しますが、基本は図のような構成になります。役割は以下のようになります。

必須ファイル

テーマの中核となるファイルです。

index.php Webサイトの中心となるコンテンツが入ります。

style.css テーマのスタイルを記述します。

一覧表示用のテンプレートファイル

ニュースブログによくある複数の投稿を一覧するためのテンプレートです。

archives.php アーカイブを表示します。

category.php カテゴリーを表示します。

単独表示用のテンプレートファイル

単独のコンテンツを表示するためのテンプレートファイルです。単独投稿、固定ページ、添付画像のページの表示などに使います。

single.php 個別記事ページを表示します。

page.php 単独投稿ページを表示します。

特殊な用途に使うテンプレートファイル

ページがNot Foundだったとき、サイト内検索などの特殊な用途で使われる専用テンプレートファイルです。

404.php Not Foundのとき表示します。

search.php 検索したとき表示します。

モジュールテンプレートファイル

各テンプレートから、必要に応じて読み込まれる部分的テンプレートファイルです。複数種類のテンプレートから共通して使えるようにモジュール化されています。

header.php ヘッダーのモジュールです。

footer.php フッターのモジュールです。

sidebar.php サイドバーのモジュールです。

content.php コンテンツのモジュールです。

関数ファイル

テーマ内で使われるPHP関数をまとめるために使われます。WordPress専用やオリジナル関数をまとめ、様々な場所でッ関数を呼び出します。

functions.php 関数モジュールです。

inc/custom-header.php

content.php コンテンツのモジュールです。

3.ファイル同士を結合するには?

 ファイル同士が結合するには、インクルードタグと呼ばれるファイル同士を結合するためのコードを記述します。例えば、index.phpなどにある「<?php get_header(); ?>」や「<?php get_footer(); ?>」です。インクルードタグを記述すると、記述した部分に記述先のファイル(header.phpなど)の中のソースが読み込まれ、TMLとして出力されます。

wordpress082

ソース

 index.phpファイルにheader.phpを結合すると以下のようになります。

header.php

<head>
<meta http-equiv=”content-type” content=”text/html; charset=UTF-8″/>
<title><?php wp_title(‘-‘, true, ‘right’); ?> <?php bloginfo(‘name’); ?></title>
<link rel=”stylesheet” href=”<?php bloginfo(‘stylesheet_url’); ?>”
  type=”text/css” media=”screen” />
</head>
<body>
<h1><a href=”<?php bloginfo(‘url’); ?>” title=”<?php bloginfo(‘name’); ?>”
           <?php bloginfo(‘name’); ?></a></h1>

index.php

<?php get_header(); ?>
<div id=”site-wrapper”>
<div id=”head”>

 結合すると、HTMLの結果が以下のようになります。1~7行がheader.phpで表現されている部分で、8~9行がindex.phpで表現されていぶ部分です。

<head>
<meta http-equiv=”content-type” content=”text/html; charset=UTF-8″/>
<title>サイト名</title>
<link rel=”stylesheet” href=”cssのURL” type=”text/css” media=”screen” />”
</head>
<body>
<h1>サイト名</h1>
<div id=”site-wrapper”>
<div id=”head”>

任意のファイルを結合する

 header.phpのような決まったファイル以外も結合できます。自分で任意のファイル名で作ったPHPファイルも指定できます。

include

<?php include( TEMPLATEPATH . ‘/obj_file.php’ ); ?>

 includeは「含める」という意味で、()の中にTEMPLATEPATH(テンプレートのパス)を指定します。つまり「obj_file.php」という名のファイルを読み込みます。

最新の呼び出し方

<?php get_template_part(‘aaa’); ?>

 get_template_partという関数が新しく用意され、任意のファイルを呼び出す事が出来ます。上記はaaa.phpというファイルを呼び出しています。なるべく最新の関数を使うほうがよいので、これを使用しましょう。

番号でファイル指定

<?php get_header(‘2’); ?>

 sidebar.phpやheader.phpは複数作成可能で、別の呼び出し方ができます。例えばheader.phpを元に別のファイルを作り、名前をheader-2.phpとします。すると上記のように簡単に呼び出せます。


トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 2008年04月 金融機関系I

最近の投稿
人気記事
カテゴリー
広告