2016-09-16 9 views
2

テーマを最初から作成しています。私のカスタムページテンプレートとシングルポストタイプのテンプレートをすべてサブフォルダに入れたい(下記参照)。Wordpressのテーマのサブフォルダにあるページテンプレート

-theme/ - page.php - single.php -- templates/ --- page-news.php --- single-report.php

しかし、私はテンプレートをピックアップしていない「既定のテンプレートを」フォルダこれにpage-news.phpを移動したとき。

N.B.私はワードプレス4.6.1を使用しており、私が最初から構築したテーマを使用しています。

+0

[Wordpress Template Hierarchy](https://developer.wordpress.org/themes/basics/template-hierarchy/)の構造をベースにしていますか? – Frits

+0

はい私は@Fritsです – WebDevDanno

+0

クール - テンプレートフォルダ内のファイルを直接テーマフォルダに移動します。 :) – Frits

答えて

0

あなたがそれらをサブフォルダに入れると、WordPressはあなたのテンプレートを自動的に認識しません。私はさらに、これを修正するためのフックがないと思う。ただし、コアを検索して修正することができます。

私は次のことをお勧めします:テンプレートファイルのWordPress自動検出を使用しないでください。とにかく不器用です。あなたのindex.phpファイルでWordPressを正しくルーティングするために条件タグを使用してください。

https://codex.wordpress.org/Conditional_Tags

あなたはサブフォルダだけでなく、コードに関する10倍、より柔軟です。この方法:あなたは/テンプレートファイル内に貼り付けコードをコピーする必要はありません。あなたのルーティング機能内

使用

get_template_part(..) 

私は何百ものWordPressサイトを構築しており、私はいつもそうしています。それはまた、いくつかのワードプレスの本で推奨されています。

0

templatesは、テーマのルートにのみ定義できます。私は一般的に次のようにすべての私の部分テンプレートを管理:

-Theme 
-- Templates Folder (partial templates etc.) 
--"news-template.php" file (I require/load all the templates I need here.) 

この方法であなたは、テンプレートフォルダ内のすべてのpartial templatesを維持し、あなたが望むようにそれらを構築することができます。プロジェクトのルートにあるtemplateファイルにロードします。

私の説明が十分明確であることを願っています。

関連する問題