エックスサーバーで子テーマを作成する方法

以前の記事で子テーマ作成する方法を書いたのですが、ロリポップでのやり方だったので今回はエックスサーバーでの子テーマの作成方法を紹介していきたいと思います(コメントでリクエストも頂いたので)。

まず子テーマについておさらいしておくと、テーマが更新する度にカスタマイズしたファイル達は全部初期化されるので、親テーマをコピーした子テーマを作成して更新しても初期化されないようにしておくという感じです。

ただ、テーマを構成する全てのファイルをコピーする必要はなく、修正するファイルだけコピーしておけばOK。それ以外は親テーマのファイルを読み込むのでカスタマイズしたり、修正したりするファイルだけをコピーして子テーマに追加していきます。

今回は実際にどのように子テーマを作るのかという部分を解説していきます。

WordPressをカスタマイズする時に色々なphpファイルをコピーしていきますので、この手順はしっかりと覚えてしまいましょう。それから最後に重要な注意事項もありますので、必ず最後まで記事を読んで下さいね。

スポンサーリンク

親テーマのテーマ名を確認しておく

まずは今回利用するテーマ「Twenty Twelve」をインストールします。別のテーマでも構いません。

例えばStinger5を利用するのであればダウンロードサイトからStinger5をインストールという感じです。

※すでにインストール済みならそのまま次に進んで下さい。

WordPressの管理画面から「外観」⇒「テーマ」と進み、「新しいテーマを追加」という部分をクリックします。

新テーマ-1

検索窓があるので「Twenty Twelve」と入力して検索してインストールしておきます。

新テーマ-2

インストールできたら一度「有効化」しておきます。

これでテーマ(親テーマ)が有効化されますので、有効化できたらWordPressの外観⇒「テーマの編集」と進みます。

テーマの編集-1

テーマの編集をクリックすると「スタイルシート」が表示されますので、最初の方に書かれている「テーマ名(Theme Name)」を確認しておいて下さい。

Twenty Twelveの場合のテンプレート名は「Twenty Twelve」になってますね。

テーマの編集-2

スティンガー5(今現在のバージョン)の場合はこのようになってます。

子テーマ-1

このテーマ名(Theme Name)は後で使うのでメモ帳などに貼り付けておきましょう。

エックスサーバのファイルマネージャーから子テーマを追加

WordPressを構成するフォルダに子テーマを追加する必要があるのですが、WordPressを構成するフォルダへ行く場合には「ファイルマネージャー」にログインする必要があります。

エックスサーバーの「インフォパネル」にログインすると「ファイルマネージャー」にログインする項目があります(直接ファイルマネージャーにログインしてもOK)。

エックスサーバーファイルマネージャー-2

ファイルマネージャーにログインしたらファイルがズラリと並んでいるのですが、最初に画面右下の「ファイル名の文字コード」を「UTF-8」に切り替えておきましょう。

エックスサーバー子テーマ-12

「ファイル名の文字コード」を「UTF-8」に切り替えたら子テーマを追加するドメイン名を選択。

エックスサーバー子テーマ-11

次に「public_html」をクリックします。この「public_html」の中にWordPressのファイル達があります。

エックスサーバー子テーマ-8

ここからは「wp-content」⇒「themes」とクリックして行きます。

エックスサーバー子テーマ-9

これでWordPressのテーマが入っているフォルダ「themes」までやってきました。テーマフォルダの中に「子テーマのフォルダ」を作成すればいいという訳です。「themes」のフォルダで任意のフォルダ名(私の場合はchild)をつけて作成します。

画面右下にフォルダを作成するコーナーがありますので、ここで子テーマフォルダ名を入力して「フォルダの作成」をクリック。

エックスサーバー子テーマ-13

するとファイル一覧のところに今作成した子テーマのフォルダが表示されますのでそれをクリック。

エックスサーバー子テーマ-14

この子テーマの「フォルダ」の中にスタイルシート「style.cssファイル」を作成します。ファイルですのでフォルダと間違わないように。ファイル名は「style.css」と入力してファイルを作成をクリック。

エックスサーバー子テーマ-15

これで子テーマ(child)のフォルダの中にスタイルシート「style.css」というファイルが追加されましたので、「style.css」の左のチェックボックスにチェックを入れて右の「編集」をクリック。

エックスサーバー子テーマ-17

「style.css」の編集画面になります。この内容の部分に普通は親テーマのファイル(今回は「style.css」)をそのままコピぺして保存します。しかしながらこの「style.css」に関しては別の記入で簡単に作成する事ができます。次の記述をします。

テーマTwentyTwelveの場合の記述です。

/*
Theme Name: Child
Template: twentytwelve
*/
 
@import url('../twentytwelve/style.css');

これは作成するテーマ名と親テーマの名前(template)、それから@の部分がtwentytwelveの「style.css」をインポートして下さいという意味です。

「Theme Name」には子テーマの名前(私の場合はChildにしてます)。それから「Template:」の部分に最初に調べておいた親テーマのテーマ名を入れます。

また、「@import url(‘../●●●●/style.css’);」の●●の部分にも親テーマのテーマ名を入れます。

上記コードを便宜変更し、子テーマのスタイルシートの内容の部分に貼り付けます。貼り付けたら下の「保存文字コード」を「UTF-8」にしておき、「編集」をクリックすると保存されます。

エックスサーバー子テーマ-18

これで子テーマにスタイルシートが作成できたのでこの子テーマを有効化していきましょう。

子テーマを有効化してみる

ここまでで新しく「Child」という子テーマを作成しましたので、これを有効化して行きます。今度はWordPressの管理画面から「外観」⇒「テーマ」と進んで下さい。

テーマ構成-3

すると先ほど作った「Child」というテーマがありますので、「有効化」をクリック。

子テーマ-10

するとこの子テーマが有効化されます。以上でテーマの有効化は完了です。

一度サイトの表示を確認するとそのまま親テーマと同じように表示されるはずです。これで子テーマにスタイルシートが追加できました。

子テーマに追加したスタイルシートに関しては親テーマの記述がインポートされてますので、スタイルシートをカスタマイズする場合には変更したいコードだけをどんどん下に追加していけばOKです(CSSは後に書いた物が優先的に反映されるため)。

※スタイルシートの場合です。

Stinger-10

スタイルシート(CSS)以外のphpファイルを子テーマに追加するには

上記の手順でスタイルシートを子テーマに追加しましたが、他のphpファイル「header.php」とか「single.php」とかを子テーマに追加する場合もほとんど同じです。

ただ、スタイルシートのように「インポート」は使わずに親テーマの内容まるごとコピーして子テーマに追加します。

前回の記事で書いたようにWordPressのテーマは沢山のphpファイルでできています。

カスタマイズしたいファイルだけ子テーマに追加しておき、コピーしたファイルの方をカスタマイズします。

例えばコメント欄のカスタマイズをしたい場合は「comments.php」というファイルを子テーマにも作成し、親テーマから「comments.php」のファイルの中身をコピペして子テーマの「comments.php」に追加して保存。

それでコピーした子テーマの「comments.php」をカスタマイズする訳です。

ついでに子テーマに「single.php」も追加してみよう

練習も兼ねて子テーマに「single.php」も追加してみましょう。

まずは先ほど同様にエックスサーバーのFTPからログインし、最初に画面右下の「ファイル名の文字コード」が「UTF-8」になっているか確認。

エックスサーバー子テーマ-12

「ファイル名の文字コード」を「UTF-8」に切り替えたら子テーマを追加するドメイン名を選択。

エックスサーバー子テーマ-11

次に「public_html」⇒「wp-content」⇒「themes」⇒「Child(先ほど作った子テーマ)」とクリックして行きます。

子テーマ作成-1

この子テーマ「Child」の中に「single.phpファイル」を作成します。

ファイルですのでフォルダと間違わないように。ファイル名は「single.php」と入力して「ファイルを作成」をクリック。

子テーマ作成-2

これで子テーマ(child)のフォルダの中に「single.php」というファイルが追加されましたので、「single.php」の左にチェックを入れて「編集」をクリック。

子テーマ作成-3

ここまで準備できたらこのファイルの内容に親テーマの「single.php」を追加する必要がありますので、一度このまま放置します。

別ウィンドウもしくは別タブでWordPressの管理画面を開き、「外観」⇒「テーマの編集」をクリックして下さい。

テーマ構成-1

そして右上の「編集するテーマを選択」という部分から親テーマ(twenty twelve)を選び、「選択」をクリック。

テーマ構成-2

右側にずらりと沢山のphpファイルが並んでいると思いますので、その中から「単一記事の投稿 (single.php)」というのクリック。

子テーマ-11

すると親テーマ「twenty twelve」の(single.php)というファイルの中身が表示されていると思います。この中身をすべてそのままコピーします。

子テーマ-13

コピーしたら先ほどの放置いていたエックスサーバーのsingle.phpのファイルの中身にペースト。

子テーマ作成-5

それで後は「保存文字コード」を「UTF-8」にして「編集」をクリックで完了。

子テーマ作成-4

最後に子テーマに反映されているか確かめてみます。WordPressの管理画面から「外観」⇒「テーマの編集」と進みます。

テーマ構成-1

画面の右側の「編集するテーマを選択」で「Child」を選び「選択」をクリックすると最初に作った「style.css」と今作った「single.php」が表示されていればOKです。このコピーして追加する方法が子テーマの基本になります。

このような手順で作成して行きます(functions.phpだけは例外です)。注意点はCSSの時にも書いたように「保存文字コード」を「UTF-8」にしておく事です。

※親テーマの全部のファイルを子テーマに追加する必要はありません。子テーマに無いファイルは親テーマのファイルを読んでくれるので、変更する予定のファイルだけを子テーマにコピーしていけばOKです。

それと子テーマに「functions.php」を追加する場合には注意が必要です。このファイルはそのまま親テーマの記述をコピーしてしまうとエラーが発生してブログが表示されない状態になります。「functions.php」を子テーマに追加したい場合には先に次の記事を読んでおいて下さい。
子テーマにfunctions.phpを追加する時の注意点

それではいよいよカスタマイズ本編へ行きます。

エックスサーバーで子テーマを作成する方法”に18件のコメントがあります。

※入院生活から復活しました!!またできるだけ返信しますのでよろしくお願いします(^^)

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。

  1. 匿名

    悪戦苦闘し、やっと子テーマ作成出来ました!!
    助かりました!

  2. しげぞう 投稿作成者

    えり様

    わざわざ報告ありがとうございます。少しでも参考になった部分があったのであれば私も嬉しいです。今後ともどうぞよろしくお願い致します。

  3. えり

    先程の件は単なるスペル違いでした。
    解決し、無事子テーマができました。

    こちらに来れていなければ諦めていたかもしれません。
    本当にありがとうございます!!

  4. えり

    こちらにたどり着き救われた思いです。
    しかし、子テーマを作ることが出来たと思ったら、
    「壊れているテーマ
    以下のテーマはインストール済みですが、足りない部分があります。
    親テーマが見つかりません。”Twenty Sixteen” の親テーマをインストールしてください。」となってしまいます。有効化しているのですが、何が問題でしょうか。

  5. マヒナ

    初めまして。
    子テーマの作り方がわからなくて、こちらにたどり着きました。
    丁寧な説明でわかりやすく、子テーマを無事作成することができました^^
    ありがとうございました。
    またお邪魔させていただきます。

  6. ピーチ

    先ほど送りました疑問点、解決しました。
    「フォルダ作成」と「ファイル作成」の区別がわかりませんでしたが、この違いでした。
    すみませんでした。

  7. しげぞう 投稿作成者

    ピーチ様

    コメントありがとうございます。子テーマのフォルダの中にstyle.cssのファイル自体は作成された状態ですか?原因が特定できないのですが(すみません!)、一度画面を閉じて、再度エックスサーバーの管理画面から改めて操作して見て下さい。

    それでも上手く行かない場合には「フォルダ」それから「ファイル」の間違いがないかチェック。子テーマのchildは「フォルダ」で、style.cssは「ファイル」です。それからスタイルシートのファイル名「style.css」が間違っていないか?半角になっているか?など一度チェックしてみ下さい。

    もしそれでも上手く行かない場合には一度サーバーの方にも確認をしてみると良いと思います。サーバー側の一時的な不具合などが原因という事もあるかもしれません。それをチェックしてみて下さい。

    上記のチェックでも問題ないようであればお手数ですが、再度コメント頂けると助かります。どうぞよろしくお願い致します。

  8. ピーチ

    初めましてこんにちは。丁寧でわかりやすい解説、いつも参考にさせていただいております。

    →子テーマ(child)のフォルダの中にスタイルシート「style.css」というファイルが追加されましたので、「style.css」の左のチェックボックスにチェックを入れて右の「編集」をクリック。

    今この作業をしているのですが、「編集」をクリックしても「style.css」の編集画面が出てこないのですが、何が問題なのでしょうか。

  9. Okingatarashi

    しげぞう様
    こんにちは!ありがとうございます。
    しげぞう先生!すごぉッ!!!!!瞬速、速決!!!!!!

    完了です。ポンコツはポンコツなりに頑張るのですが...
    無駄な抵抗の鈍キホーテです(笑)‼
    もう少し頑張りますが、 HOME の営業時間を書いた背景画像の調整で
    HELP!する可能性が大です!その節は宜しくお願いします。

  10. しげぞう 投稿作成者

    Okingatarashi様

    コメントありがとうございます。色々と試行錯誤が見えますね(笑)再度自分でやってみれば色々と発見がありますし、勉強にもなります。

    まず、子テーマのスタイルシートなんですが、1箇所ミスがあります。スタイルシートに記述されている「#pagetop」の中身なんですが、「color」が「co;or」になっているので、これを訂正しておいた方が良いと思います。

    それで罫線なんですが、この部分はtableタグを使っていると思うのですが、元々のtableタグの装飾が優先されているようなので、table内の装飾の記述には「!important」を付けて試してみて下さい。こんな感じです。

    td { border: none !important;}

    これで線は消せると思うので、上記のコードを追加してみて下さい。それで反映されない場合には再度コメント下さい。

  11. Okingatarashi

    しげぞう様

    お世話になります・・・
    どんどんHPらしくなって来てます。
    又…罫線です。消えるか見えなきゃいいと思うのですが…
    以前に教えて頂いたコードはダメでした。

    ただ、以前に教わったコードで繰り返しとの戦いで、背景画像を入れて文字が入れられた!超!嬉しいいです。

    この2か所に使っています。
    HELP!の発動をお願いします。親切に甘えてごめんなさい。
    宜しくお願いします。

  12. しげぞう 投稿作成者

    Okingatarashi様

    おっ!上手く反映されたようで良かったです!私も結構すぐに忘れるタイプなので、このブログメモ代わりに使ってます。コメントから勉強になる事も多いので、今後も何かあれば遠慮なくコメント下さい。どうぞよろしくお願い致します。

  13. Okingatarashi

    しげぞう様

    こんばんは!
    最初はつまずて迷惑をかけました。
    習った事を駆使して考えて...
    頑張った結果です。後は本人が内容を書くだけの感じです。
    しげぞう様、本当にありがとうございます。これからもよろしお願いします。

    お友達の美容室のサイトです。

  14. Okingatarashi

    しげぞう様

    こんにちは!ありがとうございます。調べて下さった…んですね。
    本当にごめんなさい。
    そんなこと、あんだぁ…って、感じです。自分で調べてみるべきでした。

    本当は、泣きつかれた事もありますが、このサイトで習った事覚えた事の見直し、復習で、
    頼まれてみました。テーマが変わるとどんなふうになるのか?っていう興味もありました。
    「聞かないでしげぞう様のサイトを見ながら頑張る」って、決めたのに…頭から聞いています。
    ごめんなさい。本当にありがとうございました。

  15. しげぞう 投稿作成者

    Okingatarashi様

    返信ありがとうございます。テーマによって子テーマの作成が違う場合があるようですね。

    このテーマの作者の方が子テーマも配布しているようですので手順を説明しますね。

    まず以下のURLへアクセス。

    https://github.com/mignonstyle/chocolat-child

    1.サイトの右側に緑のボタン「clone or download」がありますので、これをクリック。「Download ZIP」をクリックしてダウンロード。

    2.WordPressの管理画面から「テーマ」をクリックして、「+新しいテーマを追加」をクリックします。

    3.次の画面で「テーマのアップロード」をクリックして、先ほどダウンロードしたファイルを選択しインストール。

    WordPressの管理画面から「テーマ」と進むと、「Chocolat Child」という新しい子テーマが作成されているので、これを有効化して下さい。

    これが子テーマになります。最初に作成された子テーマは削除してもOkと思いますので、ダウンロードした子テーマを使って見て下さい。

    また何かあれば連絡下さいね!

  16. Okingatarashi

    しげぞう様

    こんにちは!お世話をかけます。
    1.について テーマはインストール有効化して表示はされているので大丈夫と、思います。
    2.「以下のテーマはインストール済みですが、足りない部分があります。
       名前 説明
       child スタイルシートが見つかりません。 削除 」

    と書かれています。
    さっきとテーマが変わりました。友達に泣きつかれて5,6固定ページのサイトを作ります。
    テーマは「 Chocolat 」です。
    子テーマの入力内容
    /*
    Theme Name: child
    Template: Chocolat
    */

    @import url(‘../Chocolat/style.css’);

    どこが違うか…見てるけど見えてない感じです。
    宜しくお願いします。

  17. しげぞう 投稿作成者

    Okingatarashi様

    コメントありがとうございます。まず、親テーマはインストールされてます?壊れているテーマと表示される原因として考えられるのは

    1.親テーマをインストールしてない
    2.スタイルシートの記述ミス

    この2つのどちらかではないかと思います。子テーマ作成ではスタイルシートが必要になりますが、子テーマの最初に親テーマのスタイルシートをインポートする記述をしてます。この記述は親テーマのテーマ名を入れる部分がありますので、これが間違っていないか確認をしてみて下さい。

    もしそれでも上手く行かない場合にはお手数ですが再度コメント下さいませ。

  18. Okingatarashi

    しげぞう様
    こんにちは!
    ちょっとテストをしてみたくて別のテーマをダウンロードしました。
    「 Xeory EXTENSION 」と言うテーマです。色の類はチャレンジしたくて子テーマを作ろうとしました。xseverでFTPからいつも通りファイルとフォルダ―したのですが、”壊れているテーマ 親テーマが見つかりません親テーマをインストして下さい”と出ています。サポートへ行くとcodexへ。でした勿論、分りません。
    HELP!の発動です。出来ましたらわかる事を教えて下さい。