我知道我可以使用get_template_part()
例如。但有些文件仍然需要存在,例如,如何移动页面。php到子文件夹,这样它仍然可以工作?我也知道,你可以把你自己的页面模板放在一个自定义文件夹中,它们会被正常识别。
我知道,改变WP核心层次结构可能不是最好的主意,但对于开发特定页面(非博客导向)来说,可能就是这样。当您试图轻松添加功能时,我不认为在主题根目录中有多少文件是一件好事。
我知道这里有一些类似的问题,但没有一个指向实际的例子。以下是一些:
但是有人能举例说明如何组织主题文件夹,这样我就只能(粗略地)完成
- mytheme
-- functions
-- img
-- js
-- styles
-- languages
-- custom-templates
--- template-demo.php
--- ...
-- wp_template_parts
--- loop.php
--- pagination.php
--- comments.php
--- header.php
--- footer.php
--- sidebar.php
--- ...
-- wp_default_view_templates
--- page.php
--- single.php
--- 404.php
--- search.php
--- archive.php
--- ...
-- index.php
-- functions.php
-- style.css
其中(例如)
wp_default_view_templates
文件夹仅包含WP默认层次结构模板。
文件夹wp_template_parts
包括多次使用的默认WP部分。(这已通过get\\u template\\u part()起作用)
views
文件夹将包括我的自定义页面模板,如模板customstuff。php等。
我现在已经管理好了css/js等功能和资产。唯一困扰我的是主题根目录中的所有WP文件。
这次重组真的是个坏主意吗?
SO网友:cjbj
我同意马克的观点,这不是我听说过的最好的主意,但这很容易做到,因为它将所有事情都推迟到索引中。php。按如下方式启动该文件:
if (is_404() and file_exists (get_template_directory() . \'/wp_template_parts/404.php\')
{get_template_part (get_template_directory() . \'/wp_template_parts/404.php\');}
elseif (is_page() ... and so on
...
else { normal index.php loop; }
在整理if-else时,一定要考虑到Wordpress的层次结构。如果您想要不同的页面模板(如page singlecolumn.php),那么还有一个问题,即WP无法自动找到它们,因为它正在根目录中查找它们。在编辑页面时,您必须写入数据库以使不同的模板可用。
基本上,这意味着你必须照顾好自己的东西WP会为你做,如果你做了他们的方式。