yStandardでは子テーマによるカスタマイズを推奨はしていませんが、カスタマイズに便利な機能を準備しています。
子テーマカスタマイズではtemplate-part
ディレクトリ以下のファイルをルールに従ったファイル名にすることで既存テンプレートを上書き出来ます。カスタム投稿タイプ・カスタムタクソノミー向けに追加している上書きルールについて紹介します。
このページは上級者向けマニュアルです。
自作のプラグインや子テーマを使ってPHPでカスタマイズする内容が含まれます。
WordPress勉強中の方は知らない単語や関数などを調べながらカスタマイズにチャレンジしてみてください。
※このカスタマイズにはyStandard v4.17.0以上が必要になります。
子テーマでのファイル上書き方法のおさらい
まずは基本的な子テーマでのファイル上書き方法についておさらいしましょう。
子テーマで上書きカスタマイズ出来るファイルは template-parts
ディレクトリ以下になります。
例えば、カードタイプの投稿一覧ページを作るテンプレートをカスタマイズしたい場合はtemplate-parts/archive/details.php
を子テーマの同じ位置に作成し、ファイルをカスタマイズします。
[子テーマ]
┣ template-parts
┣ archive
┣ details.php
このように、基本的にはyStandard本体のディレクトリ構造と同じ位置・同じ名前のファイルを作成することで子テーマで上書きカスタマイズができます。
カスタム投稿タイプの追加ルール
カスタム投稿タイプの投稿詳細や一覧ページではファイル名の最後に-${post_type}
を追加することによってカスタム投稿タイプの時だけ使われるテンプレートを作成出来ます。
例えば、スラッグが「manual」というカスタム投稿タイプの投稿詳細テンプレートをカスタマイズしたい場合、template-parts/single/content-manual.php
というファイルを作ることで、投稿詳細のテンプレートはそのままで「manual」投稿タイプのみ子テーマでテンプレートをカスタマイズできます。
[子テーマ]
┣ template-parts
┣ single
┣ content-${post_type}.php
同様にスラッグが「manual」というカスタム投稿タイプの一覧ページのテンプレートをカスタマイズしたい場合もtemplate-parts/archive/details-manual.php
というファイルを作ることでカスタマイズ出来ます。
[子テーマ]
┣ template-parts
┣ archive
┣ details-${post_type}.php
また、その他のtemplate-parts
ディレクトリ以下のファイルも同じルールが適用されるので、例えばカスタム投稿タイプのみカテゴリー表示をカスタマイズ出来ます。
-${post_type}
のついたファイルが無ければ追加ルール適用前のファイルが読み込まれます。
カスタムタクソノミーの追加ルール
カスタム投稿タイプ同様、ファイル名の最後に-${taxonomy}
を追加することによってカスタムタクソノミーの時だけ使われるテンプレートを作成出来ます。
カスタムタクソノミーのルールはカスタムタクソノミーの投稿一覧ページにのみ適用されるので、このルールで上書きできるファイルはtemplate-parts/archive
以下のファイルのみになります。
[子テーマ]
┣ template-parts
┣ archive
┣ details-${taxonomy}.php
例として、スラッグが「manual_category」のタクソノミーの一覧ページテンプレートをカスタマイズしたい場合、template-parts/archive/details-manual_category.php
を作成することでカスタマイズ出来ます。
カスタムタクソノミーのルールでは、-${taxonomy}
のついたファイルが無ければ次にカスタム投稿タイプのルールが適用され-${post_type}
のついたファイルを探します。
それでもファイルが見つからなかった場合追加ルール適用前のファイルが読み込まれます。
※タームまでのカスタマイズは実装していません。要望があればユーザーコミュニティでリクエストをお願いします。
必要な部分だけカスタマイズしたい場合にお使いください
子テーマでのカスタマイズはyStandard本体のテンプレート仕様が変わった場合に影響を受けやすいのであまりおすすめはしていませんが、プラグインを作ってカスタマイズをするよりシンプルにカスタマイズしやすいのも事実です。
カスタム投稿タイプを使う場合など、必要な部分だけカスタマイズしたい時にぜひご活用ください。
yStandardカスタマイズの方法について、メリット・デメリットはこちらのマニュアルをご覧ください▼