将模板文件放置在哪里?

时间:2017-01-20 作者:Chris

我正在开发我的第一个WordPress主题,并对一些事情的最佳实践提出了疑问。

Including templates: 当我创建front-page.php 文件,并希望包括header.php 文件,最佳做法是:

  1. front-page.php/theme/ 目录和header.php 在里面/theme/core/ 目录,然后使用<?php include \'core/header.php; ?> 将其包括在内,或

    1. front-page.phpheader.php 在相同的/theme/ 目录,然后使用<?php get_header(); ?> 将其包括在内get_footer, get_sidebar

3 个回复
SO网友:Milo

使用include 使其无法child theme 那个文件。您还将发现,一些依赖于全局变量的东西将无法工作。这是因为the function that loads templates 还全球化了一系列变量。您也不会触发附加到的操作get_header, get_footer, 和get_sidebar, 这可能是一些插件所依赖的。如果可能,始终使用API将最大限度地提高主题与WP生态系统其余部分的兼容性。

SO网友:Howdy_McGee

什么定义了哪些文件是“核心”文件,哪些文件不是?边栏和首页模板对我来说就像“核心”。除非涉及某种框架,否则我不明白为什么大多数模板文件都不在根目录中。如果您想将页面模板或模板部分等内容分离到文件夹中,您可以这样做。

WordPress使用他们的“二十个20xx”主题作为example of "good development" 因此,对于大多数情况,您可以将其作为最佳实践的基础。它建议如下:

assets (dir)
      - css (dir)
      - images (dir)
      - js (dir)
inc (dir)
template-parts (dir)
      - footer (dir)
      - header (dir)
      - navigation (dir)
      - page (dir)
      - post (dir)
404.php
archive.php
comments.php
footer.php
front-page.php
functions.php
header.php
index.php
page.php
README.txt
rtl.css
screenshot.png
search.php
searchform.php
sidebar.php
single.php
style.css
也就是说,如果你发现在你的主题中有些东西更容易组织,那么我说,去做吧,没有什么是一成不变的。

SO网友:Kenneth Odle

如果WordPress有一个特定的函数来做某事(即get\\u header()),那么尽可能使用该函数,而不是直接使用PHP。这些WP功能通常是有原因的。

相关推荐

Templates for Mobile Site

是否有任何内置方法可以根据浏览器大小显示不同的模板(即移动设备检测)?我做了一些研究,我能找到的只是大量插件,它们的功能远远超出了我的需要。我基本上只需要一种方法,将移动目录添加到我的主题中,并为移动用户显示该主题。