admin管理员组

文章数量:1336331

I created a custom folder ("/templates") and I put all of my template files in the folder. instead of root ("/wp-content/themes/my-theme/"). It works fine.

Do I have to add some function for indicating "/templates/" folder as my templates folder? Usually you put them on root, right?

It works fine now but I just wonder if there is anything I have to. I can't find any information on wordpress codex. I just installed WPML and All of templates pages are 404 now. I wonder if it(custom template folder location) causes this 404 pages. cuz woo-commerce pages are showing fine. wc is not in my template folder. it generated by plugin.

-------- Additional

I created a template www/wp-content/themes/my-theme/tpl-home.php

I named this file as a template page.

<?php
/*
Template Name: Home
*/
get_header(); ?>

And I moved templates files on www/wp-content/themes/my-theme/templates/tpl-home.php

It still works well. I have seen a lot of themes do like this.

Do I need to setup some function to indicated the folder?

I created a custom folder ("/templates") and I put all of my template files in the folder. instead of root ("/wp-content/themes/my-theme/"). It works fine.

Do I have to add some function for indicating "/templates/" folder as my templates folder? Usually you put them on root, right?

It works fine now but I just wonder if there is anything I have to. I can't find any information on wordpress codex. I just installed WPML and All of templates pages are 404 now. I wonder if it(custom template folder location) causes this 404 pages. cuz woo-commerce pages are showing fine. wc is not in my template folder. it generated by plugin.

-------- Additional

I created a template www/wp-content/themes/my-theme/tpl-home.php

I named this file as a template page.

<?php
/*
Template Name: Home
*/
get_header(); ?>

And I moved templates files on www/wp-content/themes/my-theme/templates/tpl-home.php

It still works well. I have seen a lot of themes do like this.

Do I need to setup some function to indicated the folder?

Share Improve this question edited Nov 1, 2013 at 10:27 brasofilo 22.1k8 gold badges70 silver badges264 bronze badges asked Nov 1, 2013 at 8:29 pullapulla 7234 gold badges17 silver badges34 bronze badges 4
  • what you mean by root? root of what? themes=>your-theme your currently active theme root? – Rahil Wazir Commented Nov 1, 2013 at 8:52
  • Thanks guys. I added more information. please let me know if you need more. Root means. theme root.. so /wp-content/themes/my-theme/ – pulla Commented Nov 1, 2013 at 9:01
  • Are you referring to WordPress Template Hierarchy template files, or custom page templates? – Chip Bennett Commented Nov 1, 2013 at 12:53
  • Sorry, why? What does this accomplish that the Core functions and methods can not? – s_ha_dum Commented Nov 1, 2013 at 14:55
Add a comment  | 

2 Answers 2

Reset to default 11

As of WordPress 3.4 you can put your page templates in whatever direct subdirectory you need, it doesn't sound like you can put them into sub-sub directories but I haven't tested this.

I suggest storing templates into /page-templates/ folder as WordPress seems to recognize it. From WordPress Page Templates Entry:

WordPress recognizes the subfolder page-templates. Therefore, it’s a good idea to store your global page templates in this folder to help keep them organized.

You can place your templates within your active theme where ever you want but you have to include your files to functions.php.

You can make a folder called page-templates within your current theme.

/wp-content/themes/my-theme/page-templates

and add your custom templates there.

Include files in functions.php

if ( is_page_template( 'page-templates/my-template.php' ) ) {
    include_once 'page-templates/my-template.php';
}

it should work.

本文标签: Custom templates folder