あなたのWordPressサイト上の特定のページの外観を変更することができます多くの多くの方法があります。 WordPressコンテンツエディタ内でコンテンツを変更できます。 サイトに影響するCSSルールを変更できます。 または、特定のページに対応するWordPressテーマのテンプレート階層に新しいファイルを作成します。 または、そのページ用に特別に設計されたテーマページテンプレートを使用することもできます。 最後のものは、私たちがここで話していることです。 このチュートリアルでは、WordPressのカスタムページテンプレートを作成する方法と、なぜあなたがそれをしたいかもしれない両方をカバーします。 私たちはなぜから始めます。

“WordPressテーマカスタムページテンプレート”と言うと、どういう意味ですか?

ワードプレスのページ属性テンプレートのドロップダウンのスクリーンショットワードプレスのページ属性テンプレートのドロップダウン5.6

このトピックには巨大な用語の問題があります。 私が上で示唆したように、WordPressの世界では「ページ」と「テンプレート」という漠然とした概念を持つものがたくさんありますが、ここで話しているものではあり “WordPressのカスタムページテンプレート”と言ったとき、私は*しない*最初の事は、”WordPressのテーマです。”(ワードプレスに新しい多くの人々は、彼らが”ワードプレスのテーマ”を意味するときに”テンプ”)

では、”カスタムページテンプレート”とはどういう意味ですか? 私は右に示されているものを意味します。 たとえば、WordPressでページコンテンツタイプを編集しています(ただし、後で説明するように、他のWordPressコンテンツタイプを含めることができます)。 そして、あなたのページを編集している間、あなたは”ページ属性”ボックスに気づき、その中で、あなたは(あなたのテーマがすでにこれらのテンプレートを持って この選択ボックスは右側に表示されます(「ページ編集」画面の右側にも表示されます)。 このドロップダウンが表示されるのは、テーマがこれらの”カスタムページテンプレート”の一部を提供しているためです。”彼らは実際にあなたの現在アクティブなテーマのフォルダ(またはその親)内のファイルだし、我々は後で来るだろう単一の区別機能を持っています。 しかし、名前付きページテンプレートのこの選択可能なドロップダウンは、我々が今日ここで話しているものです。

これはテンプレート階層にどのように適合しますか?

私は前に書いた、と私はおそらく再びそうするでしょう、テンプレート—再びその単語があります—階層は本当にあなたがWordPressのテーマを構築または変更するた (ここではそれに私たちの簡単なイントロです。)他のほとんどすべては、テンプレート階層の基本的な動的を理解したら、うまくいくことができる詳細です。 私たちが今日意味している特定のものは、しかし、テンプレート階層の外に座っています。 この”選択されたテンプレート”は、基本的にテンプレート階層の選択プロセス全体を置き換えます。

上に示したドロップダウンでカスタムページテンプレートが選択されている場合、その”テンプレート”ファイルが使用されます。 フルストップ、例外はありません。

カスタムページテンプレートが選択されている場合、その”template”ファイルが使用されることを言い換えると、その”template”ファイルが使用されます。 フルストップ、例外はありません。 そうでない場合、WordPressテンプレート階層は、page-123.phpまたはpage-custom-template-utilizer.phpファイルを使用して、誰かが特定のページのスタイルを設定しようとしたとは多少異なる方法を探します。 (カスタムテンプレートと、このpage-$idまたはpage-$slug構造を持つテンプレートの違いは、実際には相互作用とインターフェイスにのみあります。 これらのいずれも見つからない場合、WordPressは存在する場合はpage.phpにフォールバックし、存在しない場合は最終的なフォールバックindex.phpになります。

なぜこのメソッドを数値やスラッグではなく使用するのか疑問に思っているのであれば、テーマにカスタムファイルを作成しているのですが、結局のところ、カスタムテンプレートを使用すると、テーマとサイトのデータベースやコンテンツとの間の柔軟性と独立性が向上するからです。 そのため、どちらを使用するかわからない場合は、ほぼすべての状況で使用することをお勧めします。 数値またはスラッグベースのpage-*.php構造を使用すると、WordPressデータベースのデータが現在どのようになっているかをテーマに知らせる必要があります。 (たとえば、別のWordPressサイトでテーマを再利用すると、そのファイルは役に立たなくなります。)

WordPressのカスタムページテンプレートを作成するにはどうすればよいですか?

ok、カスタムページテンプレートがWordPressテンプレート階層に取って代わることがわかります。 そして、我々は、コンテンツの関連する部分の右バーにある”テンプレート”ドロップダウンメニューからそれらを選択することにより、私たちのWordPressサイトの実際のペー だから、WordPressのカスタムページテンプレートを作成するためのプロセスに取得する時間です。

あなたがすることは、あなたのテーマにmy-template.phpreally-cool-awesome.phpのような名前のファイルを追加することです(非常に強い制約がない限り、実際には子テーマでなければな テンプレート階層の一部である名前を実際に使用しない限り、あなたは黄金です。 (つまり、page-whatever.phpのような名前を使用しないでください。 上記で触れたように、WordPressのテンプレート階層は、そのパターンで名前が付けられたファイルを所有していると考えています。)

ファイル(cool-page-template.php、好きなもの)を取得したら、次のように起動する必要があります:

<?php/*Template Name: Name To Appear In The Dropdown*/?>This is my custom template.

そして、あなたは基本的に完了しています。 おそらく推測できるように、”テンプレート”ドロップダウンに表示される名前は、私が巧みに”ドロップダウンに表示される名前”と呼んだものです。”テーマのstyle.cssファイルやプラグインのメインファイルと同じように、WordPressはこのコードコメント内の情報を使用して、動作するコンテキストを提供します。

そして、私たちのページの内容は、この場合、非常に基本的なHTMLテキスト”これは私のカスタムテンプレートです”になります。 ご想像のとおり、ここでは、ページに表示したいHTMLコンテンツを配置する可能性がはるかに高い場所です。 だからあなたの<h1>タグ、<p>タグ、そしておそらく(あなたが空想しているなら)あなたが誇示したいカスタム動作をするためのいくつかのPHP。

WordPressのカスタムページテンプレートが表示されない理由

私は(複数回)私の新しいWordPressのページテンプレートが表示されないという経験を持っていました。 最も一般的な原因は、ファイルヘッダコメントがどのように見えるかを入力(または誤って入力)したことです。 それは正確な右のタイトルでラベル付けする必要があります。 したがって、Template Name: Narrow Pageは完璧ですが、WordPressは代わりにTemplate: Customのヘッダーを持つものを見つけることはありません。

他にもチェックすべきことがいくつかあります。 カスタムページテンプレートが表示されないその他の理由:

  • ファイルを間違った場所に配置しました(現在実行中のテーマ、またはその親にある必要があります)
  • テンプレートにpage-で始まるファイルを指定しました。 WordPressテーマの機能のため、page-で始まるカスタムページテンプレートは、代わりにテンプレート階層のページとして扱われます。
  • あなたのテーマは、その二つのrequireファイルのいずれかが欠落しているので、動作していません。 (WordPressテーマにはindex.phpファイルとstyle.cssが必要です。)
  • WordPress4.9の時代にこれに問題がありました(数年前に今)

“ページ”以外のWordPressのカスタム投稿タイプのページテンプレート

WordPressの歴史の大部分については、これらの”カスタムページテンプレート”は”ページ”コンテンツタイプ (WordPressには、デフォルトでは「投稿」と「ページ」の2つのコンテンツタイプのみがあります。)だが、ワードプレスでは4.7、新しいコンテンツタイプ(多くの場合、”カスタム投稿タイプ”と呼ばれる)でこれらのページテンプレートを使用できる機能が追加されました。

これを行うには、”ファイルヘッダーに別の行を追加します。”だから、それは少しこのように見えるだろう:

<?php/*Template Name: Narrower TemplateTemplate Post Type: post, page, event*/// Page HTML and PHP goes here...

おそらく推測できるように、この新しいTemplate Post Type:ヘッダーは、(カスタム)投稿タイプの”コードレベル”名の前にあります。 上記の例では、WordPressに同梱されているpageコンテンツタイプとpostコンテンツタイプがリストされていることに注意してください。 さらに、eventと呼ばれる3番目の「カスタム投稿タイプ」をサポートしています。

カスタムページテンプレートを使用する大きな理由

これまでにこれを行ったことがあれば、上記のページにはスタイリングがなく、WordPressサイトの残りの 私たちのファイルは、その中に一つの単純なものを持っており、他のすべてのテーマページで非常に一般的な機能を欠いているためです。 それはget_header()get_footer()、またはループを持たず、他のすべてのテーマファイルがそうする可能性が高い呼び出しをします。

サイトの他の部分とはあまり似ていないが、WordPressの管理経験の一部であるページが必要な場合があります。 これらのカスタムテンプレートは、そのために最適です。

しかし、それは同様にこれらのようなカスタムテンプレートの偉大な力の一つを示しています:時々、あなたは多くのあなたのサイトの残りの部分のよう これらのカスタムテンプレートは、そのために最適です。 アーカイブページや(あまり一般的ではない)連絡先ページにも使用されていますが、この機能は見落とされることがよくあります。

そして最後に、ページテンプレートに関する実用的なアドバイス

あなたの他のページと同じように見えるページを作ろうとしているとき(少し違う)、私は実際にあなたのテーマ、おそらくpage.phpから既存のファイルをコピーすることから始めたいと思います。 これは、私たちのほとんどは、それが簡単にゼロから構築するよりも何かを変更するために見つけるので、単にです。 このコード例では、既存のpage.phpテンプレートから特定の詳細を追加または削除しようとしているページテンプレートを”空白の白いページ”という意味にします。 サイドバーやフッターを削除すると、例えば、人々はWordPressで”カスタムページテンプレート”を作ることは非常に一般的な理由です。

ここまで説明したように、テーマのpage.phpファイルを複製してカスタムページテンプレートの作成を開始する場合は、上記の”カスタムページテンプレートヘッダー”を追加する必要があります。 繰り返しになりますが、これらはこれらのテンプレートを機能させる”魔法の”ページです。 今、素晴らしいページを作る行く!

画像提供:食べログの

さん(元画像)

コメントを残す

メールアドレスが公開されることはありません。