WordPressのテンプレート階層は、テーマ開発者の生活の中で最も影響力のあるもの ユーザーはそれを理解する必要があるかもしれませんが、プラグインはそれと対話する必要があるかもしれませんが、一般的にはテンプレート階層につい
これは、テーマ内のどのファイルが特定の時間に使用されるかを決定するのはWordPressのテンプレート階層であるためです。 つまり、テンプレート階層は、WordPressのテーマが彼らの芸術を作る基礎です。この記事の目的は、このアイデアをさらに解明することです。
私たちは、テンプレート階層が何をするのか、WordPressサイトの効果的な修飾子であるためにそれについて知る必要がある理由を定義し、それを扱う方法と(非常に簡単に)どのように動作するのかについて話します。
テンプレート階層とは何ですか?
その中心に、テンプレート階層は、WordPressがあなたのWordPressのウェブサイトの特定のページの完全な、最終的なHTMLを生成するために使用されるテー
WordPressはテーマと対話する方法を知る方法を持っている必要があります。 誰かがWordPressにそれと対話する方法を説明したテーマのための複雑なPHPロジックの様々な異なるタイプを書くことができる可能性があります。 おそらく、各テーマが応答する必要があるWordPress定義のインターフェイス(オブジェクト指向プログラミングの意味で)に一致するPHPクラスである可能性がしかし、それは複雑です—読むことはおろか、行うことはできません。
しかし、それは複雑です。 そして、それはまさにテンプレート階層のポイントです: WordPressがさまざまなテーマを使用できるようにするだけでなく、テーマの作成と変更を比較的簡単にするためには、より簡単な解決策が必要でした。 そして、それがテンプレート階層です。
その中心に、テンプレート階層は、WordPressがあなたのWordPressのウェブサイトの特定のページの完全な、最終的なHTMLを生成するために使用されるテーマ内のどのフWordPressテーマのほとんどのファイルは実際にはテンプレート階層のメンバーであり、WordPressは表示しようとしている情報の種類に応じてそれらの1つを呼び出
テンプレート階層の歩き方
WordPressがWordPressサイト上の特定の著者(ユーザー)による投稿(または任意のコンテンツタイプ)を表示する必要がある場合、それは 主に:
- 誰かがテーマを作成または変更してページをカスタマイズするのを簡単にする必要があります
- カスタマイズが必要ない場合は、
これを達成するために、テンプレート階層は現在アクティブなテーマ内の別のファイルを試します。 それらが存在する場合、それはそれらを使用します。 そうしなければ、それは進み続けるでしょう。そのため、特定の著者のすべての投稿を表示するために使用するテンプレートを見つけるために、数値id
3
を持つ著者ユーザー名”david”を作成しましょう。 (確かに偶然。 ;P)WordPressは、現在のテーマからどのファイルを使用するかを知る必要があります。 テーマファイルを見る方法は次のとおりです。
- ファイルはありますか
author-david.php
存在しますか? いいえ… - ファイルはありますか
author-3.php
存在しますか? いいえ… - ファイルはありますか
author.php
存在しますか? いいえ… - ファイルはありますか
archive.php
存在しますか? いいえ… - ファイルはありますか
index.php
存在しますか? はい!WordPressが「はい」を取得する前に、5つの「いいえ」があることに気付くでしょう。 それらのそれぞれ、および次の質問は、テンプレート階層です。 WordPressがこれらの質問の1つで「はい」になるとすぐに、テンプレート階層の役割が完了します。 しかし、これは本当に重要です。見つかったファイルは、ページ全体のHTMLを担当します。 文字通りWordPressがあなたのサイトのページに表示するものは、テーマ内の単一のテンプレート階層ファイルから来ています。 (おそらくすでに知っているように、それはWordPressが行うすべてのものがそのファイルに詰まっているという意味ではありませんが、他のものが引き込したがって、テンプレート階層を構成するのは、これらの質問(WordPressがその人が訪問しているURLに基づいてどちらを探すかを決定しました)です。 そして、あなたが知っているように、あなたが持っていない場合
index.php
、あなたはWordPressテーマを持っていません。 これは、テンプレート階層のすべての部分の最後の停止です。私が言ったように、index.php
がなければ、WordPressテーマはありません。 しかし、もしあなたが持っていれば、テンプレート階層から使用する可能性のある他のファイルは実際には必要ありません。 それを実現するために他のもの。WordPressは、上で述べたように、常にエンドユーザーのためのページを作ることができるという確信を必要としています。 テーマはそれを提供する必要があります。 それがテンプレート階層のためのものです。 しかし、最終的なフォールバックの必要性は絶対的なものであり、WordPressでは
index.php
ファイルを持たないテーマを有効にするこWordPressテンプレート階層が存在する理由
テンプレート階層は、テーマデザイナーや開発者がWordPressサイトの外観をカスタマイズしやすくするために存在 クライアントがブログの”タグアーカイブ”ページを単一の投稿ページとは異なるものにするのは非常に一般的です。 そのため、WordPressのテンプレート階層はその必要性をサポートしています。
前述したように、テンプレート階層には想像できる代替手段があります。 しかし、それらのいくつかは何か良いです。 そして、それは、基本的に、テンプレート階層が存在する理由全体です。
子テーマの簡単な議論
ご存知のように、WordPressには子テーマと呼ばれるこれらのものがあります。 そして、実際には、WordPressの子テーマは、テンプレート階層を愛する理由の半分以上です。 子テーマは、デザイナーや開発者が自分自身のためにテーマ全体を作成することなく、サイトの特定のページに小さな調整を行うことができる方法です。
子テーマの完全なデザインは、この記事をはるかに超えた議論のトピックです。 子テーマの詳細については、WPShoutに関するこれら二つの記事、またはこれについての記事がよく提供されますWordPress.org サイト。
子テーマについて知っておくべき重要なことは、WordPressのテンプレート階層がそれらを認識し、それらと連携することです。 だから、私が前に著者テンプレートのために上記のファイルを探すことについて説明したことは、子テーマが使用されている場合、実際には少し異な そうであれば、それは次のようになります:
- ファイル
author-david.php
子テーマに存在しますか? いいえ… - ファイルは
author-david.php
親テーマに存在しますか? いいえ… - ファイルはありますか
author-3.php
子テーマに存在しますか? いいえ… - ファイルは
author-3.php
親テーマに存在しますか? いいえ… - ファイルはありますか
author.php
子テーマに存在しますか? はい!
テンプレート階層に到達するには、より多くの手順があることがわかります。 また、子テーマが常に最初にチェックされていることに気付くでしょう。 これは、テンプレート階層と子テーマについて本当に重要なことです—それらのファイルは、常にテンプレート階層が関係している親のものを打ち負かします。
WordPressのテンプレート階層を理解する必要がある理由
テンプレート階層をよく理解せずにテーマを設定することはほぼ不可能です。 あなたは多分それを行うことができますが、それは混乱し、神秘的な魔法のように感じるでしょう。
それをしようとしている場合は、テンプレートの階層を少し明確にするいくつかのプラグインについて知っておくのにも役立ちます。 これらはどちらも同じことを行います(テンプレート階層も知っている場合に便利です)。 彼らは両方とも実際にあなたにそれよりも少し多くを教えてくれますが、それは彼らの主な用途です(少なくとも私にとっては)。
テンプレート階層について知り、その構造を理解する必要がある理由は、ツールベルト内のどのテンプレートであっても、それを使用して”上書き”する”子テーマの場合、”オーバーライド”は、子テーマに同じ名前のファイルを作成し、それを良いと呼ぶのと同じくらい簡単です。 しかし、それよりも具体的にしようとするときは、テンプレート階層の図を参照する必要があります。 それは私がいつものために到達する場所ですwphierarchy.com…..WordPress.org Googleの画像検索と同様に、図を持っています。 しかし、このサイトよりもアイドル状態からアクセスするのが速いものはありません。
WordPressのテンプレート階層を操作する方法
線形に読んだことがあるなら、この質問にはすでにかなり良い答えがあると思います。 しかし、これはインターネットであり、私は人々がスキム知っています。 テンプレート階層を操作するには、テーマを作成します。 それが自立的なテーマであろうと、”親”に傾いている”子”であろうと、テーマのファイルは基本的にテンプレート階層の操作方法を変更する方法です。基本的には、ページの外観を変更しようとしているテンプレート階層のどこに一致するファイルを作成します。 したがって、単一のページのHTMLを別のものにしようとしている場合は、ページテンプレートを指定するか、その投稿のIDをロールインしてテーマにファイルを作これらのどちらも完璧ではありません。
しかし、それは基本的にそれがどのように動作するかです。
WordPressコード内でテンプレート階層がどのように機能するか
“WordPressのテンプレート階層はどのように機能しますか?「実際には、WordPress開発者が答えを必要とする学術的な質問はほとんどありません。 しかし、ある日、私は自分自身が何気なく疑問に思っていたので、私はそれを調べました。 そしてこの記事が出てきました:
これを読むことに興味があるが、クリックするのに十分に興味がない人のための短い答えは、
if
sとelseif
elseif
elseif
elseif
elseif
PHPコードのdiv>s。 それほど多くはない。 これは、WordPressのこの強力で重要な側面の根底にある最もエレガントなコードではありませんが、それはうまく動作し、あなたが今まで知っていて、WordPressで愛し合ったすべてのテーマを可能にします。 かなりクール!テンプレート階層のさらなる読書
この記事の概念のいくつかに新しいしている、または単に復習が必要な場合は、私たちが持っているこれらの他の記事をチェックしてください。 まず、初心者のための二つ:
テンプレート階層とその仕組み、およびそれをどのように使用する必要があるかについて、より深く掘り下げて考えたい人のために:
今、あなたはWordPressを知っていますテンプレート階層!
うまくいけば、これはあなたのベルトの下で、あなたはWordPressのテンプレート階層のかなり良い感覚を持っている:それはWordPressがテーマと対話する方法であ そして、うまくいけば、WordPressにテンプレート階層がある理由(テーマを使用するため)と、それを使用する理由(テーマを介してサイトのページをより簡単にカスタマ そして、私はあなたもそれと対話する方法を知っていることを願っています:それが対話するファイルを追加または削除することによって。 それで、幸せなハッキング!
- ファイル