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

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

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

ただ、テーマを構成する全てのファイルをコピーする必要はなく、修正するファイルだけコピーしておけば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を追加する時の注意点

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

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

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

  1. しげぞう 投稿作成者

    カラス様

    コメントありがとうございます。そうですか、原因なんでしょうね?

    子テーマのスタイルシートの最初の部分をコピペされていると思うのですが、時々普通にコピペしてもスペースの部分に??のような文字が入っている場合あり、上手く反映されない場合もあります。
    なのでもし良かったら一度ブログのURLも教えてもらえると助かります。どうぞよろしくおねがいします。

  2. カラス

    しげぞう様

    お世話になります。泣いています。

    本当に泣けてくる話なのですが、やはりどのサイトを見てもエックスサーバーかロリポップの説明しかなくて、とうとう「子テーマ」の作成をあきらめてしまいました。本当になさけないです。

    しげぞうさんの説明はとてもていねいで分かりやすいのですが、私には「子テーマ」の作成は仕切りが高すぎたようです。

    なので今回、止むを得ず、以下のプラグインでゴマかしてみました。

    ◆ child theme configurator ◆

    結局、私はワードプレスのことを何も分かっていなかったみたいです。

    涙が止まりません。

  3. しげぞう 投稿作成者

    カラス様

    コメントありがとうございます。ネットオウル使った事ないので違いが分かりませんが、子テーマの作り方は基本的に同じだと思います。サーバーによって違う部分ってあるんですかね?一度ネットオウルの方へと問い合わせしてみて、子テーマは普通どおり作成できるって事であれば改めて原因を探してみるのが良いと思います。

    なのでお手数ですが、一度サーバーへ問合せをしてみて、再度コメント頂けると助かります。

  4. カラス

    しげぞう様
    お世話になります。カラスです。

    私も、今まで「子テーマ」のことをまったく分からずに数サイトを運営していました。
    なのですが、さすがに新サイトを立ち上げましたので本格的に子テーマに挑戦してみようと思います。

    今回、ネットオウルのクローバーサーバーを借りたのですが、ロリポップ、Xサーバーとは何だか
    違う感じなので、childの子テーマが作れない状態です。

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

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

    と、ここまでの作業は完了しているはずで、私の場合はそのままコピーしましたが、やはりテーマに反映されていない状態です。

    グーグル検索しても、しげぞう様の真似ばかりしているサイトばかりで、どれもXサーバーのことばかりです。
    ちなみに、ネットオウルで検索しても、子テーマ作成らしきものが出てきません。

    またまた答えにくい質問ばかりで申し訳ないですが、ぜひアドバイスをいただければと思います。

    以上です。

  5. しげぞう 投稿作成者

    yuu様

    コメントありがとうございます。どの部分がうまく行かないのか具体的に教えてもらえると助かります。子テーマフォルダはできてますか?子テーマの中にstyle.CSSファイルはできてますか?どこまで進めていてどのようなエラーがでているのか教えてください。

  6. yuu

    はじめまして。
    ワードプレスを始め、いろいろなことがわからな過ぎて、こちらにたどり着きました。

    現在子テーマの作成で悪戦苦闘しております。

    サーバーはさくらインターネットを使用しており、参照にさせていただきながら設定してみましたが、何度してみても子テーマの作成ができません。

    教えていただければ幸いです。

  7. しげぞう 投稿作成者

    れいん様

    返信ありがとうございます。子テーマで基本的に必要な事は次の4つです。

    1.親テーマをインストールする
    2.子テーマ(フォルダchild)を作成する
    3.作成した子テーマのフォルダの中に子テーマのstyle.css(ファイル)を作成する
    4.子テーマのstyle.css(ファイル)の中身に親テーマのCSSをインポートする記述をする

    以上の4つが通常必要な部分です。テーマによっては少し手順の違う部分があったりするのですが、とりあえず「フォルダとファイルを間違っていないか?」とか「CSSのインポートの記述が間違っていないか?」「そもそも親テーマはインストールされているか?」という部分をチェックしてみて下さい。

  8. れいん

    ありがとうございます!themnameとtemplateが逆だったみたいで、
    直したところ、wordpressの外観、テンプレートのところに、

    壊れているテーマ
    以下のテーマはインストール済みですが、足りない部分があります。
    名前 説明
    xeoryextension-child テンプレートが不足しています。独立したテーマには index.php テンプレートファイルが必要です。子テーマでは style.css スタイルシートにテンプレートヘッダーが必要です。

    と出ました。初心者過ぎてすみませんが、もしわかれば教えていただきたいです(泣)

  9. しげぞう 投稿作成者

    れいん様

    コメントありがとうございます。xeory extensionは使った事がないのですが、基本的な部分は同じかと思います。こちらの記事が参考になりそうです。
    ⇒https://soricity.com/xeory-child-them/

  10. れいん

    初めまして!こちらの方法で、xeory extensionの子テーマを頑張っているのですが、有効化しても、反映されません!泣
    (親テーマと全然違って題名と固定ページの文字がずらずら並びます)
    助けてもらえるとありがたいです!