この章では、クラシックテーマの基本構成を学びます。
WordPressテーマは、決められた場所に決められたファイルを置くことで、管理画面から認識されます。
まずは最小構成から理解しましょう。
テーマフォルダ
クラシックテーマは、WordPressのテーマディレクトリにフォルダとして置きます。
wp-content/
themes/
my-theme/
style.css
index.php
functions.phpmy-themeがテーマフォルダです。
この中にテンプレートやCSS、JavaScript、画像などを入れていきます。
最小構成
テーマとして認識させるための最小構成は、基本的にstyle.cssとindex.phpです。
my-theme/
style.css
index.phpstyle.cssには、テーマ情報を書きます。
index.phpは、ほかに適切なテンプレートがない場合の最後の受け皿です。
style.css
style.cssの先頭には、テーマ情報を書きます。
/*
Theme Name: My Theme
Author: Your Name
Version: 1.0.0
Description: Web制作学習用のクラシックテーマです。
*/このコメントがあることで、WordPressの管理画面にテーマとして表示されます。
通常のCSSも同じファイルに書けますが、実務ではCSSファイルを分けて読み込むこともあります。
index.php
index.phpは、テーマの基本テンプレートです。
最初は簡単なHTMLを書いて、テーマが表示されるか確認します。
<?php get_header(); ?>
<main>
<h1><?php bloginfo( 'name' ); ?></h1>
<p>テーマが有効化されています。</p>
</main>
<?php get_footer(); ?>get_header()はheader.phpを読み込みます。
get_footer()はfooter.phpを読み込みます。
functions.php
functions.phpは、テーマの機能を設定するファイルです。
CSSやJavaScriptの読み込み、テーマサポート、メニュー登録などを書きます。
<?php
function my_theme_setup() {
add_theme_support( 'title-tag' );
add_theme_support( 'post-thumbnails' );
}
add_action( 'after_setup_theme', 'my_theme_setup' );functions.phpは、テンプレートを表示するファイルではありません。
テーマの準備や機能追加を書く場所です。
header.phpとfooter.php
header.phpには、HTMLの上部やヘッダー部分を書きます。
footer.phpには、フッター部分やwp_footer()を書きます。
<!doctype html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<header class="site-header">
<a href="<?php echo esc_url( home_url( '/' ) ); ?>">
<?php bloginfo( 'name' ); ?>
</a>
</header><footer class="site-footer">
<p>© <?php echo date( 'Y' ); ?> <?php bloginfo( 'name' ); ?></p>
</footer>
<?php wp_footer(); ?>
</body>
</html>wp_head()とwp_footer()は、WordPressやプラグインが必要なコードを出力するために重要です。
よく使うテンプレート
クラシックテーマでは、ページの種類に応じてテンプレートファイルを作ります。
| ファイル | 主な用途 |
|---|---|
front-page.php | トップページ |
page.php | 固定ページ |
single.php | 投稿詳細 |
archive.php | アーカイブ |
category.php | カテゴリー一覧 |
search.php | 検索結果 |
404.php | 404ページ |
WordPressはテンプレート階層に沿って、使うファイルを自動的に選びます。
screenshot.png
screenshot.pngをテーマフォルダに置くと、管理画面のテーマ一覧に画像が表示されます。
必須ではありませんが、テーマを識別しやすくなります。
my-theme/
screenshot.png
style.css
functions.php
index.php
header.php
footer.php静的HTMLをテーマに分ける
静的HTMLをWordPressテーマにする時は、共通部分とページごとの部分を分けます。
- ヘッダーは
header.php - フッターは
footer.php - トップページは
front-page.php - 固定ページは
page.php - 投稿詳細は
single.php
いきなりすべてを動的にするのではなく、まず静的HTMLをテーマファイルに分けるところから始めます。
この章のまとめ
- クラシックテーマは、テーマフォルダ内のPHPやCSSで構成される
- 最小構成は
style.cssとindex.php functions.phpには、テーマの機能設定を書くheader.phpとfooter.phpには共通部分を書く- ページの種類に応じて、
front-page.php、page.php、single.phpなどを作る