WordPressの子テーマ–それらを使用する方法と理由
公開: 2016-04-29WordPressの背後にある全体的なポイントは、人々に自分のサイトやブログを構築、変更、調整する力を与えることです。 これは、ちょうど10年前、プロのデザイナー/開発者を雇う必要があったものです。
今日、あなたはあなた自身であなたのサイトの世話をすることができて、あなたはそれをあなたが望むように見せることができます。
しかし、 WordPressカスタマイザーでできることを超えたい場合はどうでしょうか? 現在のWordPressテーマについて、もう少しカスタマイズされた方法で何かを変更したい場合はどうなりますか?
さて、そこで子供向けのテーマが登場します。
子テーマを使用する理由
コインの反対側から始めましょう:
子テーマを*使用せず*、代わりに現在の(通常の)テーマに変更を加える場合の最大の欠点は、テーマを更新すると、それらの変更がすべて消えてしまうことです。
さて、私が変更とはどういう意味ですか:
- テーマのPHPファイルのいずれかに対して行われた手動のコード編集、
- style.cssファイルへの変更、
- テーマのディレクトリに配置した可能性のある新しいファイル(これには、PHPファイル、CSSファイル、さらにはグラフィックス、文字通りすべてが含まれます)–これは、カスタムページテンプレートがある場合の一般的な問題です。
したがって、これをもう一度強調するために、テーマを更新するとすぐに上記のすべてが消えます。
しかし、なぜこれが悪いのですか?
さて、あなたが使用するテーマがこれまでのように更新されていなければ、問題はおそらくそれほど残酷ではありません。 ただし、高品質のWordPressテーマのほとんどは、少し頻繁に更新される傾向があります。 これは、WordPressのデフォルトテーマ(例:Twenty Fifteen)に特に有効です。WordPressコアの新しいバージョンがリリースされるたびに更新されます。
そのような状況では、それらのアップデートに付属するすべての新しいものとパッチを見逃したくありません。 事実上、それらはあなたのウェブサイトを新しいバージョンのWordPressで正しく動作させ、また全体のセキュリティを改善します(一般的なセキュリティホールとバグを修正します)。
しかし、それだけではありません。 子テーマを使用すると、より良い作業組織という形で付加価値も得られます。
これが、現在のWordPressテーマ内で何かを編集しようとすると、何かを台無しにするのは簡単です。 たとえば、コードの重要な行を誤って消去したり、ファイル全体を誤って消去したりする可能性があります。
子テーマを使用すると、すべての変更がはるかに適切に整理されます。 子テーマのディレクトリにあるすべてのファイルには独自のコードしか含まれていないため、 「ファイルXを変更したかどうか」という疑問はもうありません。
最初の子テーマを作成する方法
この部分は本当に簡単で、コーディングはほとんど必要ありません。 ただし、最初に、いくつかの一般的なガイドライン:
- すべてのテーマを親テーマにすることができます。 つまり、既に持っているテーマの子テーマを作成できます。
- 子テーマは、ほとんどの「こと」を親が行うことに依存しています。 最も基本的な方法では、空白の子テーマは、コード、デザイン、スタイルなどのすべてを、何も変更せずに親から直接取得します。
- 子テーマが機能するには、親の存在が必要です。 親テーマを削除すると、子テーマは機能しなくなります。
- 前述のように、親テーマを更新して、変更内容を失うことはありません。
- いずれの場合も、いつでも親テーマに切り替えて、元のバージョンのテーマに戻すことができます。
さて、ハウツーに。 子テーマに必要なものはほんの一握りです。
-
wp-content/themes
内に、一意の名前/スラッグが付いた新しいディレクトリ。 - その新しいディレクトリ内のスタイルシートファイル–
style.css
、 - および
functions.php
ファイル。
これは、WordPressの以前のデフォルトテーマであるTwentyFifteen用に作成した子テーマの例です。 私はt15-child
というディレクトリを作成することから始めました:
次に、そのディレクトリに2つの新しいファイルを作成し、それらをstyle.css
とfunctions.php
と呼びました。

まず、 style.css
ファイルを編集しましょう。 これが私のものです:
/* Theme Name: T15 child KK Theme URI: http://karol.cc/ Author: Karol K Author URI: http://karol.cc/ Template: twentyfifteen Description: My child of twentyfifteen Version: 1.0.0 License: GNU General Public License v2.0 License URI: http://www.gnu.org/licenses/gpl-2.0.html Text Domain: t15-child */
ご覧のとおり、派手すぎるものはありません。 そこにある2つの重要な行が強調表示されています。
- テーマ名– wp-adminの[外観] / [テーマ]の下に表示される新しい子テーマの名前。
- テンプレート–ここで最も重要な行–は、スラッグによって親テーマを指します。
次に、 functions.php
ファイルに移動しましょう。 私が持っているのは:
<?php function theme_enqueue_styles() { $parent_; 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)); } add_action('wp_enqueue_scripts', 'theme_enqueue_styles');
これは単純な新機能です。 それは2つのことを処理します:
- 親テーマの元のスタイルシートをフェッチし、
- 新しいstyle.cssファイルを「オン」にして、そのファイル内のテーマのデザインにさらに変更を加えることができるようにします。
覚えておくべき他の重要なこと:
- 現在、新しい
style.css
ファイルを自由に変更できます。 そこに配置する新しいクラス、または変更する古いクラスが何であれ、Webサイトとその外観に影響を与えます。 - 子テーマのディレクトリに他のPHPファイルを追加できます。 これらのファイルは、完全に新しいものにすることも(たとえば、新しいカスタムテンプレートの場合)、親テーマの標準ファイルを置き換えることもできます。 たとえば、ブログの投稿の表示方法を処理するために、 single.phpファイルの完全に新しいバージョンを作成できます。
- 新しい
functions.php
ファイルに入力したものはすべて、親テーマのネイティブのfunctions.phpファイルが機能するのと同じように実行されます。
子供のテーマはもう作成しましたか?
この段階で作業は完了し、Webサイトにさらに変更を加えるために使用できる基本的な子テーマができました。 または、この新しい子テーマを使用して、既に行った調整が親テーマの将来の更新に反映されるようにすることもできます。
ここであなたはどう思いますか? WordPressサイトまたはブログで子テーマを使用することを計画していますか?