在根目录中没有所有默认wp文件的主题组织示例

时间:2016-05-11 作者:trainoasis

我知道我可以使用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文件。

这次重组真的是个坏主意吗?

2 个回复
SO网友:Mark Kaplun

是的,这是个坏主意。在主题中有关于代码组织的事实上的标准,没有人喜欢找出其他人的代码,他们认为他比之前的所有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会为你做,如果你做了他们的方式。

相关推荐

About wordpress child themes

我对WordPress和儿童主题有一些问题。据我所知,如果我不想在更新主题时失去任何东西,使用子主题是很重要的。我是WordPress的初学者,到目前为止,我一直在使用PageBuilder(管理面板上的板载自定义选项)自定义我的网站,并在“附加CSS”选项中加入几行CSS。所有这些都是在主主题上完成的(只是玩转尝试学习),现在我想开始使用一个儿童主题。问题如下:我不知道我是否可以像通过管理界面设计父主题那样设计我的子主题,或者我是否必须通过文本编辑器(在我的计算机上,然后通过FTP等方式上传)对所有内容