メソッドの詳細な作成に入る前に、まず「サブテーマ」とは何かを理解する必要があります。WordPressのサブテーマとは、別のテーマ(「親テーマ」と呼ばれる)に依存する特殊なテーマのことです。サブテーマは親テーマのすべての機能、スタイル、テンプレートファイルを継承していますが、親テーマのコアファイルに影響を与えることなく、安全に変更を加えたり、新しい機能を追加したり、親テーマのデザインを上書きしたりすることができます。
この方法の大きな利点は、親テーマが更新されても、サブテーマに加えたカスタマイズが上書きされないため、ウェブサイトの安定性と保守性が保たれることです。これはWordPress開発において守るべきベストプラクティスの一つです。
WordPressのサブテーマを作成する手順は以下の通りです:
基本的サブトピックを作成するのは非常に簡単で、いくつかの標準的なステップに従うだけです。全体的なプロセスは、サブトピックディレクトリの作成と必要なファイルの設定を中心に進みます。
推薦図書 WordPressの効率的な開発を深めるためのチュートリアル:テーマカスタマイズからパフォーマンス最適化までの完全ガイド。
まず、WordPressウェブサイトのサーバーファイルにアクセスする必要があります。これは通常、FTPクライアントやホストのファイルマネージャーを使用して行います。次に、WordPressのインストールディレクトリに移動してください。 /wp-content/themes/ フォルダー
サブトピックフォルダーとスタイルシートファイルを作成します。
このフォルダ内で、新しいサブトピック用の新しいディレクトリを作成してください。ディレクトリ名は、そのサブトピックが親トピックとどのような関係にあるかを表すのが望ましいです。例えば、親トピックの名前が「example-parent-topic」であれば、サブトピックのディレクトリ名は「example-sub-topic-1」や「example-sub-topic-2」の twentytwentyfourごのサブトピックディレクトリの名前は、以下のように設定することができます: twentytwentyfour-child。
この新しく作成されたディレクトリに入ると、サブトピックの最初であり最も重要なファイルを作成する必要があります。style.cssこのファイルは単なるスタイルシートではなく、サブテーマを定義するためのメタデータも含まれています。
/*
Theme Name: Twenty Twenty-Four Child
Theme URI: https://example.com/
Description: Twenty Twenty-Four Child Theme
Author: Your Name
Author URI: https://example.com/
Template: twentytwentyfour
Version: 1.0.0
Text Domain: twentytwentyfour-child
*/
/* 在此处添加您的自定义CSS样式 */ ポイントの説明:
* Theme Nameサブトピックの名前は、WordPressの管理画面に表示されます。
* Templateこれが最も重要な行です。その値は親テーマのディレクトリ名と完全に一致していなければなりません(大文字と小文字は区別されます)。WordPressはこのフィールドを通じて親テーマを識別します。
* Text Domain国際化のために使用され、通常はサブトピックのディレクトリ名と一致します。
`functions.php` ファイルを作成してください。
次に、サブトピックディレクトリ内に2つ目の必須ファイルを作成してください。functions.php親テーマとの関連性について functions.php 異なります。サブテーマのこのファイルは上書きされることはなく、親テーマの同名ファイルと同時に実行されます(親テーマが先に実行されます)。
推薦図書 WordPressのベストプラクティスと効率的な開発方法を徹底的に解説するガイドブック。
このファイルの主な機能の一つは、親テーマのスタイルシートを正しく順序付けすることです。これは標準的な実装方法です。
<?php
add_action( 'wp_enqueue_scripts', 'my_child_theme_enqueue_styles' );
function my_child_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' )
);
}
?> このコードにより、親テーマのスタイルシートが最初に読み込まれ、その後に子テーマのスタイルシートが読み込まれます。子テーマのスタイルシートに記載されたルールによって、親テーマのスタイルが上書きされることになります。
サブトピックの有効化とカスタマイズ
上記の2つのファイルの作成が完了したら、WordPressの管理画面にログインできます。「外観」 → 「テーマ」のページに移動すると、先ほど作成したサブテーマが表示されるはずです。「有効にする」ボタンをクリックすると、サブテーマが活動状態になります。
有効になると、あなたのウェブサイトの外観は親テーマと完全に同じになります。これで、カスタマイズを始めることができます。
- スタイルの変更:サブトピックを直接編集してください。
style.cssこのファイルに、色やフォント、レイアウトなどを変更するためのCSSルールを追加してください。 - テンプレートファイルの上書き:特定のページ構造(ホームページ、記事ページ、ヘッダー、フッターなど)を変更する必要がある場合は、親テーマ内の対応するテンプレートファイルを直接編集してください。
header.php,footer.php,page.phpサブテーマのディレクトリにコピーした後、編集を行ってください。WordPressはサブテーマ内のファイルを優先的に使用します。 - 新機能の追加:サブトピック内で…
functions.phpウェブサイトの機能を拡張するために、新しいPHP関数、フック(Hooks)、フィルター(Filters)を追加してください。
サブトピックの高度な活用とベストプラクティス
基本的な作成方法をマスターした後、いくつかの高度なテクニックやベストプラクティスを知ることで、サブトピックをより強力でプロフェッショナルなものにすることができます。
親テーマのリソースを選択的に読み込む
時には、親テーマのすべてのスタイルやスクリプトを読み込みたくない場合があります。必要に応じて、それらを選択的に読み込むことができます。 functions.php リソースの読み込みをより細かく制御することができます。例えば、特定のレイアウトで使用されるスタイルは親テーマのみを読み込むように設定できます。
推薦図書 どのようにして、自分のウェブサイトのスタイルに最も適したWordPressテーマを選び、カスタマイズするか?。
言語ファイルを使用して国際化を実現する
もしあなたがサブトピックを配布する予定がある場合、またはウェブサイトに多言語サポートが必要な場合は、テキストドメイン(Text Domain)を正しく設定し、準備を整えることが重要です。 .pot 言語ファイルは必要です。コード内のすべての翻訳可能な文字列について、適切な形式(例:`{{var:「日本語」}}`)を使用していることを確認してください。 __('String', 'your-child-theme-text-domain') このような関数をラップ(encapsulate)するのです。
バージョン管理と更新戦略
Gitなどのバージョン管理ツールを使用してサブトピックのコードを管理することを強くお勧めします。コードにはわかりやすいコメントを残し、定期的にバックアップを取ってください。サブトピック自体もメンテナンスが必要であり、新しい機能を追加したりバグを修正したりした場合は、それに応じて更新することができます。 style.css バージョン番号を記録しておくことで、将来的な管理が容易になります。
概要
WordPressのサブテーマを作成することは、すべてのウェブサイト開発者、デザイナー、さらには上級ユーザーが習得すべき基本的なスキルです。サブテーマは「継承しながらカスタマイズする」という優れた方法により、ウェブサイトのコア部分(親テーマ)が安全に更新されることを保証しつつ、無限のカスタマイズの自由を提供します。ディレクトリの作成や2つの重要なファイルの設定から始めましょう…style.css と functions.php)から始めて、アクティベーションを経て、スタイル、テンプレート、機能の詳細なカスタマイズを行うまで、全てのプロセスはステップバイステップで進められ、リスクも管理可能です。本稿で紹介されているベストプラクティスに従えば、安定しており、プロフェッショナルな品質を持ち、長期にわたってメンテナンスしやすいWordPressサイトを構築することができるでしょう。
FAQ よくある質問
すべてのWordPressテーマでサブテーマの作成がサポートされているのでしょうか?
技術的な観点から言えば、WordPressのコーディングスタンダードに準拠しているあらゆるテーマは親テーマとして使用できます。一般的に、メジャーで高品質なテーマはサブテーマのサポートを明確に宣言しています。これはテーマの公式説明やドキュメントで確認できます。テーマの構造が規格に則っていれば、明示的な宣言がなくてもサブテーマを作成しても問題なく動作するはずです。
サブトピックの `style.css` ファイル内で `Template` フィールドに誤った値を入力した場合、どうなるでしょうか?
もし… Template このフィールドの値が親テーマの実際のディレクトリ名と一致しない場合、WordPress はその親テーマを認識できません。その結果、サブテーマをバックエンドで有効にできなくなったり、有効にした後にウェブサイトのフロントエンドに異常が発生したり(スタイルが失われたり、レイアウトが崩れたり)する可能性があります。したがって、このフィールドには正確な値を入力するようにしてください。
サブトピックを基にして、さらに別の「孫」トピックを作成することはできますか?
WordPressのテーマシステムは、本来は1層の継承関係のみをサポートしています。つまり、サブテーマは1つのみ直接の親テーマを持つことができます。理論的には、あるサブテーマが別のサブテーマを自分のテンプレートとして指定することも可能ですが、これは非標準的な方法であり、予測不可能なエラーや互換性の問題を引き起こす可能性が非常に高いため、強くお勧めしません。
親テーマを更新した後、子テーマのカスタムコンテンツは失われますか?
これがサブテーマを使用する最大の利点の一つです:データが失われることがありません。親テーマを更新しても、親テーマのディレクトリ内のファイルのみが上書きされます。あなたが行ったすべての変更は独立したサブテーマディレクトリに保存されているため、完全に保持されます。ただし、親テーマが重大な更新を受けていくつかのコア関数やテンプレートの構造が変更された場合、サブテーマ内で上書きされた部分も新しいバージョンに合わせて調整する必要があるかもしれません。
次はどうする?
拡大読書と実践的知識
以下は、この記事のトピックに関連しており、さらに深く読むのに適している。あなたの現在の問題に最も近い記事から優先順位をつけ、徐々に周辺のトピックに広げていく方が良い場合が多い。