1. TOP
  2. >カスタマイズ・小技>
  3. 子テーマを作ってWordPressの既存テーマをカスタマイズしてみよう

子テーマを作ってWordPressの既存テーマをカスタマイズしてみよう

カスタマイズ・小技, 技術メモ, WordPress

2020/10/11
2022/07/21
子テーマを作ってWordPressの既存テーマをカスタマイズしてみよう

WordPressを既存のテーマを使用して運営していくうちに、デザインを変えたくなったり、プラグインでは対応できないなどで、使用しているテーマを編集したくなることもあるかと思います。ただ、このやり方だとテーマのアップデートの際に上書きされ、編集した部分が元に戻ってしまいます。そこで、子テーマを作成しておくとアップデート後も、編集した内容を残し反映させることができます。

 

アップデート前の赤色のファイルは修正した部分。
アップデート後は、修正された部分が上書きされてしまう場合があります。

 

アップデート前



アップデート後



 

子テーマを作成しておくと、テーマのアップデートがあった場合でも、

 

親テーマ =>
子テーマ =>

 

親テーマが更新されるだけで、子テーマはそのままの状態です。
なので、デザインや機能を追加した際の内容を引き継ぐことができます。

 

子テーマの必要性

既存のテーマをアップデートしなければ編集しても大丈夫ではありますが、テーマのアップデートをしないと、様々な不具合が起こる可能性があります。WordPressはセキュリティ関連の修正や、新しい機能の追加など、頻繁にアップデートを繰り返しています。WordPressのアップデートに合わせて、テーマやプラグインの修正も必要になる場合があります。そのままにしておくと動作の不具合や表示されないなどトラブルを起こす可能性もあるので、既存のテーマのアップデートは大事です。

 

・既存のテーマを直接変更した場合、そのテーマがアップデートされると変更された内容が失われるかもしれません。子テーマを使用すればテーマの変更は確実に保持されます。
・子テーマを使用することで開発時間を短縮。
・子テーマの使用することで、広告を入れたり全体のデザインを変えたり自由にできます。
・子テーマの使用することでWordPressのテーマの開発を学ぶことが可能。

子テーマを作成するのに必要なもの

 

子テーマはシンプルな構成で作成することができます。

子テーマ用のフォルダ
twentyfifteenの子テーマを作りたい場合は、twentyfifteen-childなど判別し易い名前が良いです。
style.css
functions.php

この3点を用意してください。

 

style.cssを作成

 

子テーマ用につくったフォルダ内にstyle.cssを作成し、以下を参考に記述してください。

 

/*
 Theme Name:   Twenty Fifteen Child
 Theme URI:    http://example.com/twenty-fifteen-child/
 Description:  Twenty Fifteen Child Theme
 Author:       John Doe
 Author URI:   http://example.com
 Template:     twentyfifteen
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  twenty-fifteen-child
*/

Theme Nameを子テーマか判別できるように、Childなどを追加してください。
Templateは、親テーマの名前を記述してください。

 

例の場合だと

 

子テーマ名
Twenty Fifteen Child

親テーマ名
twentyfifteen

 

functions.phpを作成

子テーマ用につくったフォルダ内にfunction.phpを作成し、以下を記述してください。

 

<?php
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
  wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
  wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array('parent-style')
);
}
?>

 

 

用意が出来たら、テーマを格納しているフォルダにアップしてください。

外観→テーマに例で作成したTwenty Fifteen Childがあります。これを有効化してください。

 

あとは親テーマから修正したいファイル(single.phpなど)をコピーして子テーマに入れて編集してください。
子テーマにあるファイルが優先的に読み込まれます。

こんな感じで簡単に出来るので、既存のテーマでデザインの修正や広告を追加したい時には、子テーマを用意して対応してください。

 

ホームページ制作ならRU DESIGN
「スタードメイン」は、年額100円からの独自ドメイン+無料サーバーも付いてきます。
WordPressも使えるので、練習も兼ねてお手軽にサイト運営ができちゃいます。


ドメイン取得は同じところで取得しておくと便利ですよ。
お名前.comは1円から購入(1年間)できるドメインがあるので、いろいろと便利で経済的です。

関連記事

Crayon Syntax Highlighterの代替プラグイン「Enlighter」
2023/06/05
 ソースコードをきれいに表示させるのに役立っていた「Crayon Syntax Highlighter」ですが、更新も止まったままの状態で再開の目処はなさそうで...
WordPressの文字列を一括変換する便利なプラグイン「Search Regex」
2023/05/26
 WordPressのサイト内の文字列を一括置換・一括変換するのに便利なプラグインをご紹介します。ドメインを変更した場合だったり、「WordPress」を「ワー...
ワードプレスの記事をまとめて削除に便利!「Bulk Delete」
2023/04/25
 ワードプレスで大量の記事を削除したいときに便利なのが「Bulk Delete」というプラグインです。数十記事ではチェックボックスで一括選択削除で十分ですが、こ...
Twitterに過去記事を自動投稿するプラグイン「Revive Old Posts」
2023/04/18
 TwitterなどSNSへの自動投稿プラグイン「Revive Old Posts」をご紹介します。記事投稿時に自動でツイートしてくる「WP to Twitte...
Mac カスタムサイズの用紙印刷ができない場合の対処法
2023/04/12
 Macで通常のプリセットされている用紙サイズでは印刷できるのに、カスタムサイズでは印刷できない(プリンタは動いているのに白紙のまま)場合の対処をいくつかご紹介...