WordPress4.0へのバージョンアッププログラムが配布されましたね。
それに付随して、3つのデフォルトテーマのバージョンアップすることができるようになりました。
WordPressは、その年、その年のテンプレートテーマがデフォルトでインストールされます。今年は2014年だったから、テンプレートの名前は『TwentyFourteen』、昨年は『Twenty Thirteen』です。

私は今、TwentyFourteenのカスタマイズを固定ページにまとめていて、子テーマの作成方法も記事にしました。
そのときは、テーマの更新に関する図がなかったのですが、ここにきてテーマ更新の画面が撮れたので、ここで補足しておきたいと思います。固定記事のほうにも、追記してリンクを貼り、こちらのページを参照できるようにしておきます。

デフォルトのテーマ更新
デフォルトのテーマ更新

 

今回は、WordPressで2012~2014年に配布された3つのテーマがバージョンアップの対象です。
画面には、テーマをバージョンアップすると、『テーマに加えたカスタマイズがすべて失われます。テーマを修正する場合、子テーマの利用を検討してください』という注意書きも添えられています。
今回は、テーマのバージョンアップで カスタマイズが失われるとはどういう意味なのか、どうして子テーマなら修正しても大丈夫なのかという2点を、補足しておきたいと思います。

 

『テーマに加えたカスタマイズが失われる』とは、どういう意味なのか?

WordPressをインストールすると、WordPressのデータが保存されることになります。
ローカル環境でWordPressをインストールしたらのなら自分のPCのなかに、レンタルサーバーを借りたのなら自分が借りたサーバー側にWordPressのデータがインストールされるということですね。

左:レンタルサーバー環境 右:ローカル環境
左:レンタルサーバー環境 右:ローカル環境

ローカル環境へのインストールにせよ、レンタルサーバー環境でのインストールにせよ、同じバージョンのWordPressをインストールしたのなら、同じファイルが保存されます。それらファイルは、項目ごとにフォルダにまとめられているものもあります。

このなかの『wp-content』というフォルダのなかには、『themes』というフォルダがあり、このなかにはWordPressをインストールすると洩れなくついてくるテーマの情報が保存されています。それぞれのテーマに必要なテンプレートファイルが、それぞれのテーマの名前がついたフォルダのなかに、保存されているのです。

たとえば、TwentyFourteenというテーマの背景画像を変えたとか、フォントの色を変えたとか、ユーザーがテーマをカスタマイズするということは、TwetyFourteenのフォルダ内にあるファイルの内容を変えたということですね。

テーマを新しいバージョンに更新したということは、更新されたテーマフォルダ内のファイルは、新しいバージョンのファイルに上書きされてしまったということです。もともとのオリジナルテーマ(親テーマ)を直接、カスタマイズすると、自分が設定変更した内容が記述されているファイルも、新しいファイルに上書きされてしまう。
だから、テーマのバージョンアップで『テーマにくわえたカスタマイズがすべて失われる』という状態に陥るのです。せっかく自分が使いやすいように、テーマをカスタマイズしても、テーマのバージョンアップのたびに、1から設定変更をやり直すことになってしまいます。こうした問題を避けるために、WordPressでは、『子テーマ』という仕組みが使えるようになっているのです。

 

子テーマを使えば親テーマをバージョンアップしても大丈夫なのは、なぜか?

WordPressでは、子テーマを用意した場合は、子テーマのフォルダ内の情報と、親テーマのフォルダ内の情報の双方を読み取る仕組みが働きます。上図のなかには、『Twentyfourteen-child』という名前のフォルダがありますが、これは私が作成した親テーマ『TwentyFourteen』の子テーマのフォルダです。

親テーマの『TwentyFourteen』フォルダ内のファイルをバージョンアップしても、子テーマの、『Twentyfourteen-child』フォルダ内のファイルには影響はありません。子テーマに自分が設定変更した情報が残っていますから、親テーマをバージョンアップしても、カスタイマズを1からやり直す必要はありません。だから、Wordpressのテーマ・カスタマイズでは、子テーマの作成が推奨されているのです。

 

子テーマは、デフォルトのテーマ以外にも適用できる

WordPressは、デフォルトのテーマ以外にも、たくさんのテンプレートをインストールして使うことができます。
私はとりあえず、BizVektorというテンプレートを利用して、このサイトを作り、公開しました。そして、デフォルトのテーマでなくても、親テーマのバージョンアップを考慮して、子テーマを作成し、カスタマイズは子テーマ側で行うことができます。

bizvector 左;子テーマ 右;親テーマ
bizvector 左;子テーマ 右;親テーマ

追記:現在は賢威に変えてしまったので、BizVektorは使っていません。

 

蛇足: 初心者でも簡単にサイトを構築できるテーマが、カスタマイズしやすいとは限らない

BizVektorは、WordPressで手っとり早くサイトを構築したい方に、お薦めのテンプレートの1つで、無料で利用できます。日本語サイトに適した無料テンプレートとしては有名なものの1つなので、『BizVektor』と検索するだけでも、さまざまな記事を見つけられると思います。私はWordPressを始めてみようと思い立ったとき、キンドルで、ある意味、ハズレの当たりの本を買ってしまったことが原因で、BizVektorを知りました。

 

この本、途中から、WordPressというよりも、BizVektorの話に比重が傾きます。そのため、純粋にWordPressを勉強したい方には、向かない内容です。
キンドルで買ったので、内容が分からなかったこともあり、純粋にWordPressを知りたくて買った本でしたから、当時の私の目的からするとハズレだったんですが、とりあえずWordPressでサイトを作ってみるという点では、とっつきやすい。特定のテーマに偏っていても、とりあえずWordPressを実際に使ってみるということを着眼点にした初心者向けの書籍です。

BizVektorは、CSSの編集でカスタマイズすることが前提のテーマと違い、管理画のなメニューからサクサクとサイトを作っていくことができる。でも、初心者でも簡単にサイトを構築できるBizVektorは、カスタマイズの勉強をするには向いていません。
『マイスでクリックすれば設定OK』的な設定メニューが豊富で、『初心者にも使いやすい機能がいっぱい』ということは、その分、内部構造は煩雑です。サイトを作っていれば、『マウスでクリック』的なメニューが用意されていない部分を修正したいと思うようになりますが、そのためにcssやphpの編集をしたいと思っても、変則的な面もあるので、求められる知識レベルが上がります。

たとえば、BizVektorでは、style.cssに設定らしい設定が書かれていません。cssの指定にstyle.cssを使っていないからです。そのため、子テーマの作成も、WordPressの多くのテーマに使う一般的な方法とは違っています。ユーザーが、cssを編集しなくても、簡単にサイトを構築できることが利点のテーマですから、カスタマイズ向きではないのは、当然といえば当然なんですね。

だから、カスタマイズという点に関していえば、カスタマイズされること前提のテーマのほうが王道路線で分かりやすい。
お勉強しながらのカスタマイズは時間がかかるので、サイトを開けるのが、いつになるのか分からない。サイトへの記事アップをお勉強のモチベーションにしようと思っているのに、サイト自体が開けないんじゃ・・・・・・そんなわけで、私は、とりあえず、BizVektorを使わせてもらい、てっとり早くサイトを開きましたが、カスタマイズの勉強では、WordPressデフォルトのテーマ『TwentyFourteen』を選びました。まずは『WordPressの王道のお勉強からはじめたい』と考えたからです。やはり、デフォルトでインストールされているテーマが情報量も多いですしね。