CMS wordpress

WordPressのテーマについて

WordPressのテーマとは

WordPressでは、「テーマ」と呼ばれるファイル群を使ってWebサイトを表現しています。

テーマの中にhtmlやcss、JavaScriptなどのファイル群、そしてページを実際に表示するテンプレートファイルなどが一式まとまっています。

そういったファイルを適切に記述、配置することで自分だけのテーマを作成することができます。

 

WordPressのテーマ作成について

ファイル構成

 

ディレクトリ 内容
wp-admin/ 管理画面用ファイル
wp-content/ サイトのデータ
wp-includes/ コアファイル
wp-content/themes/ テーマ関係のファイル群
wp-contents/plugins/ プラグイン関係のファイル群
wp-contents/uploads/ アップロードされたファイル
index.php 通常アクセスのエントリポイント
wp-config.php 設定ファイル

 

テーマを作成する時はwp-content/themes/配下にディレクトリを作成します。

WordPressからインストールしたプラグインもここに格納されています。

テーマを作成するのに必要なファイルは以下の3つです。

style.css

style.cssはテーマのCSSを記述するとともに、作成したテーマをWordpressに認識してもらうという重要な役割があります。

以下をstyle.cssの冒頭に記述します。内容は適宜変更してください。

/*
Theme Name: テーマの名前
Theme URI: テーマのURL
Description:テーマについての説明
Author: 作成者
Author URI: 作成者のURL
Version: テーマのバージョン
*/
あとは、htmlのタグに対して行いたい装飾を記述してあげればOKです。

index.php

index.phpはページを表示するためのテンプレートファイルです。

テンプレートファイルとは、Wordpressのルールに沿って作成されたPHPファイルの事です。

通常Webサイトはページによってデザインが異なる場合が多いと思います。

例えばトップページと投稿ページではデザインが異なるように、投稿ページはsingle.php、トップページはpage.php、といったようにページごとにPHPファイルを分けることができます。

そして各ページの読み込むファイル名とその優先度はWordpressのルールによって決められています。

主なテンプレートファイルは以下です。

テンプレートファイル 概要
front-page.php Webサイトのトップページを表示
single.php 投稿の記事ページを表示
page.php 固定ページを表示
category.php カテゴリページを表示
search.php 検索結果ページを表示
archive.php 記事一覧を表示
404.php 404エラー(ページが存在しない)を表示

また、テンプレートファイルにはテンプレート階層という優先順位が存在します。

テンプレート階層に詳しく記述されています。

このテンプレート階層の全てのページにindex.phpが含まれています。

したがって、index.phpがあれば、とりあえずは、それぞれのページを読み込むことができるということになります。

逆に、すべてのページのデザインが統一でいいというパターンは少ないと思うので、それぞれのページにそれぞれのデザインを当てたい場合は、

当てはまるテンプレートを作成する必要があるということになります。

functions.php

WordPressの挙動を変更したり、機能追加する際のコードをこのfunctions.phpに記述します。

それ以外のファイルの配置は自由

上記のルール以外は基本的に自由のようです。

新しくCSSファイルやJavaScriptを読み込んで使用することも、ほかのPHPファイルをfunctions.phpで読み込むことも可能なようです。

 

テーマのカスタマイズについて

 

上記の内容がテーマ作成における基礎知識です。

これに加えてページの共通部分であるヘッダーやサイドバーなどをPHPファイルとして分割し、それぞれをテンプレートファイルで読み込むことで管理しやすくします。

以上の作業でも結構大変です。

なので僕はとりあえずカスタマイズという形で既存のテーマを自分用にカスタマイズしようと思います。

WordPress自体はGPLという商用利用するにはちょっと面倒なライセンスですが、再頒布等しなければ自由に改変可能です(多分)。

そのカスタマイズのことに関してこのブログに記述していこうと思います。

 

 

 

-CMS, wordpress

Copyright© Life.log , 2024 All Rights Reserved Powered by AFFINGER5.