テーマのしくみ
Webページをデザインしてみたいにゃ。
テーマを作れば自由にデザインできるにゃ。
テーマはどうやって作るにゃ?
WordPressのディレクトリ構成
テーマはWordPressをインストールしたところの wp-content/themes/ ディレクトリの下にあるにゃ。そこに作るテーマ用のディレクトリ、例えばexampleディレクトリを作るにゃ。ディレクトリ名は日本語でなくアルファベッドや数字、"-"等を使った方がいいにゃ。その下にsytle.cssファイルやfunctions.phpやテンプレートのphpファイル、screenshot.pngファイルを置くにゃ。style.cssファイルの先頭にはテーマの情報を記載したCSS形式のコメントを書くことになっているにゃ。
最低限必要なファイルはなんにゃ?
WordPressコアにテーマと認識されるには最低限style.cssとindex.phpファイルが必要にゃ。中身が空のファイルを置いて、管理画面の外観メニューのテーマを見ると、認識されていることが確認できるにゃ。
中身がないので何も表示されないけどにゃ。
style.cssの先頭のコメント
style.cssの先頭のコメントにテーマの情報を書くとテーマの詳細で表示されるにゃ。screenshot.pngを置けばテーマのイメージも表示されるにゃ。
style.cssの先頭のコメント
/*
* Theme Name: [テーマ名]
* Author: [作成者]
* Author URI: [作成者のURI]
* Description: [テーマの説明]
* Version: [バージョン]
* Tags: [タグ]
*/
シーケンス
プラグインのロードの後、テーマのfunctions.phpがロードされるにゃ。httpヘッダが出力され、テーマのテンプレートによりHTMLが出力されるにゃ。出力されたHTMLの<head>にCSSファイルが指定されているとブラウザからWebサーバーにCSSファイルのリクエストがくるにゃ。
functions.php
functions.phpには設定やフック、テーマから呼び出したい関数等を書くにゃ。アイキャッチ画像のサポートを指定したり、style.cssのリンクをヘッダに出力するようにフックで指定したりするにゃ。
テンプレート
テンプレート階層からページの種類により必要なテンプレートを用意するにゃ。投稿ページには前後のページへのリンクを表示したり、読者からコメントを入力できるようにしたりすることが多いにゃ。アーカイブページは一定数の投稿リストをページを分けて表示したりするにゃ。固定ページだけサイドバーを表示しないこともできるにゃ。
インクルードタグ
複数のテンプレートで共通の部分があればインクルードタグを使えば共通部分を別ファイルでかけるにゃ。共通のヘッダーやフッター、サイドバーなどにゃ。
条件タグ
テンプレートファイルは数が少なくても条件タグを使えばページの種類に対応できるにゃ。トップページはヘッダの画像を大きめに表示するとか、検索結果のページには検索結果のページ数を表示するとかできるにゃ。
スタイルシート
テンプレートはデータベースから投稿の中身を取得してHTMLを出力するにゃ。そのHTMLのスタイルはstyle.css等のCSSで指定するにゃ。レイアウトや色や形、余白を決めたり、スマホやPCにより表示を変えるレスポンシブ対応したりするにゃ。
くわしくは以下を参照するでありますにゃ。