web-dev-qa-db-ja.com

Singular.phpは何ですか?

4.3から新しいテンプレートsingular.phpができました。私はそれが何であるかを理解しようとしました、しかし、私はそれを得ませんでした。 :)

ページのpage.php。すべての投稿タイプのsingle.phpsingle-[post-type].phpがある場合は、カスタム投稿タイプに特定のテンプレートを使用できます。singular.phpが必要なのはなぜですか。

13
user1452062

それは WordPressテンプレート階層の本質です - つまり、don'tpage.phpを持っていなければ、それはsingular.phpを使います、single.phpを持っていなければそれはfallback)階層の下位のテンプレートに移動します。

それぞれのテンプレートでコードが重複するのではなく、投稿/ページのレイアウトが同じテーマに最適です。

13
TheDeadMedic

singular.phpは基本的にすべての投稿タイプのための追加のフォールバックです。これはsingle.phppage.phpの直後にくるので、後者の2つのテンプレートを省略して、単一のビューのすべての投稿タイプで使用されるsingular.phpテンプレートを用意することができます。

他のテンプレートと同様に、それがどれほど有用になるか、またその必要性は、ユーザー/サイト/要件によって異なります。テンプレート階層は、表示されているページに関係なく、どのページを表示するにも常にindex.phpが必要になるように構築されています。つまり、テーマフォルダにindex.phpstyle.cssだけの完全に機能的なテーマがあります。

テンプレート階層で利用可能なテンプレートは便宜上そこにあります、そしてそれは同様にsingular.phpに行きます。あなたが 必要 に文脈で任意のテンプレートを使用することができますが、あなたがそれを必要としないのであればあなたはそれを使用する必要はありません。

13
Pieter Goosen

単一の投稿テンプレートファイルは、単一の投稿をレンダリングするために使用されます。 WordPressは次のパスを使います。

1.single- {post-type} .php - まず、WordPressは特定の投稿タイプのテンプレートを探します。たとえば、投稿タイプがproductの場合、WordPressはsingle-product.phpを探します。

2.single.php - WordPressはsingle.phpにフォールバックします。

3.singular.php - それからsingular.phpにフォールバックします。

4.index.php - 最後に、上記のように、WordPressは最終的にindex.phpにフォールバックします。

https://developer.wordpress.org/themes/basics/template-hierarchy/#single-post

静的ページをレンダリングするために使用されるテンプレートファイル(page post-type)。他の投稿タイプとは異なり、pageはWordPressにとって特別なものであり、次のパッチを使用します。

1.custom template file - ページに割り当てられているページテンプレート。 get_page_templates()を参照してください。

2.page- {slug} .php - ページのスラッグが最近のニュースの場合、WordPressはpage-recent-news.phpを使用します。

3.page- {id} .php - ページIDが6の場合、WordPressはpage-6.phpを使用します。

4.page.php

5.singular.php

6.index.php

https://developer.wordpress.org/themes/basics/template-hierarchy/#page

2
matthew