※当記事内には、商品プロモーションを含む場合があります
WordPress子テーマの正しい作り方!初心者でも失敗しない完全ガイド

WordPressのサイトを運営していると、デザインを少し変更したい、あるいは独自の機能を追加したいという場面に必ず遭遇します。
その際、最も避けるべきなのは「現在使用しているテーマを直接編集すること」です。

本記事では、WordPressカスタマイズの標準手法である「子テーマ」の作成方法について、初心者の方でも迷わず、かつエンジニアが推奨する正しい手順で解説します。

ダッチ
ダッチ
WordPressを安全に運用したいという方は、ぜひ参考にしてください。
当記事を書いている人
サイト運営者
こちらの記事は、プログラミング・Web制作歴15年以上、ブログ歴10年以上のプログラマーが書いています。
プライベートでも仕事でも多くのレンタルサーバーを利用してきた経験から、サーバーに関する豊富な知識をもとに書いています。
>> プロフィール

はじめに:なぜ「子テーマ」が必要なのか?

WordPressのテーマは、特に有料で購入したものになると定期的にアップデートが行われます。

もし、テーマのファイルを直接書き換えてカスタマイズしていた場合、テーマを更新した瞬間にそれらの変更内容はすべて上書きされ消滅してしまいます。
これを防ぐために存在するのが「親テーマ」と「子テーマ」の仕組みです。
ダッチ

子テーマとは、特定のテーマ(親テーマ)の機能とCSSを継承しつつ、変更したい部分だけを上書きするための別テーマです。

子テーマを利用することで、親テーマを最新の状態に保ちながら、自分だけのカスタマイズを安全に維持できるようになります。
また、万が一カスタマイズ中にエラーが発生しても、子テーマを無効化するだけで元の状態に戻せるため、トラブル解決の迅速化にも繋がります。

子テーマを利用しない場合に発生する致命的なトラブル

「とりあえず動けばいい」という考えで親テーマを直接編集してしまうと、将来的に深刻な問題を引き起こすことになります。
そこで、子テーマを利用しない場合に遭遇する主なリスクを詳しく紹介します。

1. カスタマイズ内容の完全な消失

最も頻繁に起こるトラブルは、テーマのアップデートによるデータの消失です。

WordPressのテーマ作成者は、セキュリティの向上や新機能の追加、バグ修正のために頻繁に更新版をリリースします。
親テーマを直接編集している状態で「更新」ボタンを押すと、苦労して書き換えたCSSやPHPコードは、すべて作成者が用意した最新のコードに置き換わってしまいます。

一度上書きされたコードを元に戻すことは、バックアップがない限り不可能です。

2. セキュリティリスクの放置

カスタマイズが消えるのを恐れて、テーマのアップデートをあえて行わないという選択をする運用者も少なくありません。

しかし、これは非常に危険な状態です。
WordPressのテーマには時折脆弱性が発見されますが、アップデートを拒否することは、その脆弱性を放置し続けることを意味します。

結果として、サイトの改ざんや個人情報の流出といった重大なセキュリティ事故を招く引き金となります。

3. トラブル発生時の原因特定が困難になる

親テーマのあちこを直接編集していると、どこをどのように書き換えたかの記録が不透明になります。

数ヶ月後にWebサイトの表示が崩れたり、プラグインとの競合でエラーが出ることもあります。
ですが、テーマ本来の不具合なのか、自分のカスタマイズによるミスなのかを判別することが極めて困難になります。

ただ、子テーマを使用していれば、変更したファイルが特定のフォルダに集約されているため、原因の特定と修正が容易です。

4. サイトの保守管理コストの増大

実際の案件では、WordPressの運営を第三者に引き継ぐ場合や、複数人で管理することもあります。

親テーマを直接編集した「独自の改造テーマ」は、他者にとって解読が難しい「スパゲッティコード」になりがちです。
標準的な子テーマの手法に従っていないWebサイトは、保守や修正のたびにコードを最初から解析する必要があります。

結果として余計な工数や外注費用が発生することになります。

子テーマ作成前の準備チェックリスト

子テーマの作成を開始する前に、安全かつスムーズに進行するための環境を整えましょう。

まず、ファイルの編集には「テキストエディタ」が必要です。

Windowsのメモ帳などは、プログラムコードに不要な文字コードを混入させる可能性があります。
できれば、VS Code(Visual Studio Code)などのプログラミングに適したエディタを用意してください。

次に、サーバー内のファイルを操作するための手段を確認します。
FTPソフト(FFFTP、FileZillaなど)を利用できるようにしておきましょう。

ちなみに、レンタルサーバーをお使いの場合、独自にファイルマネージャーを用意していることが多いです。
ファイルマネージャーを使用できれば、テキストエディタやFTPソフトがなくても編集できます。

最後に、最も重要なのがバックアップです。
慣れない作業では思わぬミスが発生することもあります。

ダッチ

UpdraftPlusなどのプラグインを利用して、現状のサイト状態を保存しておくことを強く推奨します。

子テーマ作成の3ステップ

子テーマの作成は、大きく分けて3つのステップで完了します。
今回は例として、親テーマが「twentytwentyfour」であると仮定して進めます。

ステップ1:子テーマ用のフォルダを作る

まずは、サーバー上のテーマが格納されているディレクトリ(通常は「/wp-content/themes/」)に新しいフォルダを作成します。

フォルダ名は任意ですが、管理のしやすさを考慮して「親テーマの名前-child」とするのが一般的です。
今回の例では「twentytwentyfour-child」というフォルダ名を作成します。

このフォルダの中に、カスタマイズに必要なファイルを格納していくことになります。

ステップ2:style.cssを作成する

作成したフォルダの中に、style.cssという名前のファイルを新規作成します。
このファイルは、WordPressが「これは子テーマである」と認識するための重要な役割を担います。

ダッチ

つまり、style.cssがないと、子テーマ用フォルダを作成しても、WordPressは子テーマとして認識してくれません。

style.cssを作成したら、エディタで開き、以下のコードを最上部に記述してください。

/*
Theme Name: Twenty Twenty-Four Child
Template: twentytwentyfour
Description: Twenty Twenty-Fourの子テーマです。
Version: 1.0.0
*/

ここで最も注意すべきは「Template:」の項目です。

ここには、親テーマのフォルダ名を正確に記述してください。
一文字でも間違えると子テーマとして機能しません。

また、「Theme Name」は、WordPress管理画面上で表示される名称なので、自分が分かりやすい名前に設定しておきましょう。

ステップ3:functions.phpで親テーマのスタイルを読み込む

次に、同じフォルダ内にfunctions.phpを作成します。
このファイルは、親テーマのデザイン(CSS)を子テーマでも引き継ぐために使用します。

古い解説記事ではstyle.css内に@importを記述する方法が紹介されていることがあります
ですが、これはWebサイトの表示速度を低下させる原因となるため、現在は非推奨となっています。

以下の正しいコードを使用しましょう。

<?php
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
ダッチ

このコードを記述することで、WordPressが親テーマのスタイルシートを読み込んだ後に、子テーマのスタイルを読み込むようになります。

それにより、安全かつ高速にデザインを上書きできるようになります。

ちなみに、functions.phpは、ほかにも様々な機能を追加するために使用します。
オリジナルで機能を追加する場合には、非常に重要なファイルとお考えください。

このあとは、実際に作成した子テーマを有効化します。
有効化する方法は、次のセクションを参考にしてください。

子テーマを有効化する

子テーマの準備ができたら、WordPressの管理画面にログインし、「外観」→「テーマ」を選択します。

一覧の中に、上記で作成した子テーマが表示されているはずです。

もし、子テーマがWordPressに認識されていない場合は、上記の設定を見直してみましょう。
特に、子テーマの記述に誤りがあることが多いです。
ダッチ

また、テーマのプレビュー画像を表示させたい場合は、4:3の比率(推奨は1200x900ピクセル)のPNG画像を作成し、screenshot.pngという名前で子テーマフォルダに保存してください。

これで管理画面上でも他のテーマと同様に画像が表示されるようになります。

「有効化」ボタンをクリックした後、実際のサイトを表示してデザインが崩れていないか確認してください。
親テーマと同じ見た目が維持されていれば、子テーマの作成が完了です。

【失敗しないために】よくあるトラブルと解決策

手順通りに進めても、やはり問題が発生することがあります。
その代表的なケースとその対処法をまとめました。

  • 親テーマのスタイルが反映されない:style.cssの「Template:」欄に記述した親テーマのフォルダ名が間違っていないか再確認してください。また、functions.phpの記述に誤字脱字がないか、特にセミコロンや括弧の閉じ忘れに注意しましょう。
  • 画面が真っ白になった:これはPHPの構文エラーが発生した際に起こる現象です。functions.phpの冒頭に「<?php」が抜けていないか、あるいは余計なスペースが入り込んでいないか確認してください。万が一戻せない場合は、FTPで子テーマフォルダを一度削除すればサイトは復旧します。
  • CSSを書き換えても変化がない:ブラウザのキャッシュが影響している可能性があります。ブラウザの更新ボタンを強く押す(スーパーリロード)か、シークレットモードで確認してみてください。

特に、1つ目のstyle.cssやfunctions.phpへの記述ミスが多いです。
まずは、この点を中心に確認してみましょう。

子テーマ活用の実践テクニック

子テーマが完成したら、いよいよ本格的なカスタマイズが可能です。

例えば、サイト全体のヘッダーを改造したい場合は、親テーマにあるheader.phpを子テーマのフォルダへコピーします。
WordPressは子テーマ内にファイルが存在する場合、親テーマのファイルよりも優先して読み込む仕組みになっています。

このように、必要なファイルだけをコピーして編集するのが子テーマ運用の基本です。

また、独自の機能を追加したい場合は、先ほど作成した子テーマのfunctions.phpにコードを追記していきます。

ただ、子テーマのfunctions.phpに追加された機能は、親テーマの機能に「追加」される形で動作します。
親テーマのfunctions.phpをコピーして使用すると、機能が重複してエラーになるので注意してください。

子テーマに関するよくある質問

WordPress 子テーマの作成に関して、初心者の方から寄せられる代表的な質問をまとめました。

子テーマを作成するとWebサイトの表示速度は遅くなりますか?

表示速度に影響は出ますが、正しく設定していれば無視できるレベルです。

親テーマがアップデートされた際、子テーマ側でも何か作業が必要ですか?

基本的には必要ありません。子テーマは親テーマの最新ファイルを常に参照しているため、親テーマをアップデートするだけで最新の機能やセキュリティ修正が適用されます。ただし、親テーマの大きな仕様変更があった場合のみ、子テーマの調整が必要になることがあります。

すべてのテーマで子テーマを作るべきですか?

CSSの微調整や機能追加を行う予定がある場合は、作成した方がいいです。最近はテーマ独自の設定パネルからカスタマイズできるものも増えていますが、コードレベルで編集を行うのであれば、子テーマは必須のツールといえます。

子テーマがなくてもWordPressを運営できますか?

はい、子テーマがなくてもWordPressを運営できます。ただ、Webサイトを安全に管理・運営するために子テーマを作成することをおすすめします。

親テーマと子テーマが存在する場合、どちらを有効化すればいいですか?

必ず子テーマを有効化してください。そうすることで、子テーマは、親テーマの機能やCSSを引き継いで動作します。

まとめ

WordPress運用において、子テーマを作成することは、一見すると遠回りに思えるかもしれません。

ですが、長期的なWordPress運営において、テーマの更新を妨げずに自由なデザインを実現できるメリットは非常に大きいです。

正しい手順で作成された子テーマは、あなたのWebサイトをより強力で、管理しやすいものへと変えてくれます。
まずは簡単なCSSの変更から始め、徐々に自分だけの理想的なWebサイトを作り上げていきましょう。

この記事を書いた人
userimg
ダッチ
当サイトは丹波のホームページ屋さんの代表「ダッチ」が運営しています。

プログラミング・WEB制作歴15年以上になります。

ブログ・WordPress・レンタルサーバーに関して分からないことがあればご質問ください!
ご質問・ご相談は無料で受け付けています。

https://dacchi.hp.peraichi.com/

WEB制作に関するお仕事の依頼は、こちらのホームページからお願いします。

京都HP屋さん
丹波のホームページ屋さん

Xでフォローしよう

おすすめの記事