育休男児

1年間育児休暇を取得した男の奮闘記。これからの働き方、DIY、ロードバイクなどの情報も。

WordPress カスタマイズ

[WordPress]子テーマの作り方|子テーマを作って自由にブログをカスタマイズ

投稿日:

備忘録がわりに書いておりますカスタマイズ記事。今回はブログテーマの子テーマを作成する方法を遺しておきます。ガンガンカスタマイズする前の下準備という段階で、親切にバージョンアップがたくさんあるテーマほどしておかなけれてばいけない設定です。

子テーマの作り方

子テーマ用フォルダを作る

まずは子テーマを収納するフォルダを作ります。テーマやWordPressそのものを導入されたことのある方はお分かりになるでしょうが、FTPクライアントを立ち上げ「wp-content」「themes」と進んで行きます。するとデフォルトでは「twentyeleven」とか「twentythirteen」といったフォルダがあります。これがテーマのフォルダです。ここのところに新しい空のフォルダを新規作成します。フォルダ名は「musuko」でも「kodomo」でもなんでもかまいません。

空白ページ

スタイルシートを作成する

フォルダが作れたらテキストエディタを開き、そこに

/*
Theme Name: Child
Template: twentyeleven
*/

と記述します。例で書いてみましたが「Theme Name」にはその子テーマの名前を、「Template」には元となる親テーマの名前を一字一句間違えずに書きます。先ほどの「themes」の中にあるフォルダの名前ですね。そしてさらに

@import url('../twentyeleven/style.css');

を追加して親テーマのCSSをインポートします。親テーマ(ここではtwentyeleven)のスタイルを引き継ぎますよーという意味です。かっこの中は、ドット2つにスラッシュ、親テーマの名前、スラッシュ、style.cssと書きます。これ以降CSSをいじくりたいときは、ここの下に追加していきます。仮にサイトタイトルが、親テーマは黒としていて、子テーマで赤としている状況になっても、子テーマのスタイルが優先されるのでサイトタイトルは赤になります。index.phpやsingle.phpなども新たに作って書き込むと、修正した部分だけが親テーマのスタイルに上書きされて表示されます。

スタイルシートをフォルダに保存する

先ほど作成したスタイルシートを子テーマのフォルダに保存します。うまくアップロードできれば、WordPressのダッシュボード、外観にあるテーマというところに子テーマが表示されます。一度有効化して確かめてください。

基本的にこれで設定は完了なのですが、1つだけ注意しなければいけないことがあります。それは「function.phpだけは上書きされない」ということです。その他のphpは親テーマと子テーマが共存した場合、子テーマを優先して表示してくれますが、function.phpだけは上書きではなく追加という扱いになります。ですので、単純コピーをすると2つのfunction.phpが読み込まれ、エラーが出る可能性があります。従って、function.phpだけは、追加したいものだけを子テーマのfunction.phpに書くということになります。気をつけてください。

子テーマを作る理由

さて、最後になぜ子テーマを作るのかというお話です。いちいちめんどくさいから直接テーマに書き込みたいものなんですが、そうしていると、そのテーマにアップデートがあった場合、自分で書いた内容が上書きで消されてしまいます。一生懸命やってればやってるほどショックは大きいです。子テーマに書いてあれば親テーマが上書きされても影響受けません。

それから、なれないうちにテーマをいじると、どこをどうしたかわからなくなったり、取り返しのつかないミスをしてしまうことがあります。そんなとき無傷の親テーマが残っていれば、とりあえず復元はできます。そのためにも子テーマは作成しておく価値があります。

さて、これで親テーマのアップグレードを気にせずいじれるようになりました。いろいろ調べながらやってくぞー!!

石川栄和,大串肇,星野邦敏 インプレスジャパン 2013-10-25
売り上げランキング : 7321

by ヨメレバ

相原 知栄子,石川 栄和,土肥 牧人,鳥山 優子,服部 久純,星野 邦敏,松田 千尋,吉澤 富美,大串 肇,大曲 仁,北村 崇,後藤 賢司 エムディエヌコーポレーション 2013-10-15
売り上げランキング : 6384

by ヨメレバ


-WordPress, カスタマイズ

Copyright© 育休男児 , 2017 AllRights Reserved.