WordPress中主题模板文件的终极指南

如果您曾在WordPress主题的引擎盖下进行过,则会知道它包含四种文件:样式表,功能文件,多个模板部分,以及一个或(最有可能)更多模板文件.

为主题工作,它必须至少有两个文件:样式表和index.php模板文件.但大多数主题将具有比其更多的模板文件,每个主题都是旨在显示不同类型的内容.

在此帖子中,我将解释哪些模板文件做什么以及Wordpress如何在您的站点上显示给定页面时使用的模板文件.

继续读取,或使用以下链接跳转:

  • 模板文件的种类
  • 模板层次结构
  • 详细的单个模板文件
  • 归档模板文件详细
  • 主页和主博客页面
  • 详细的特殊模板
  • 模板零件详细

模板文件的种类

您可以在主题中使用六种模板文件.这些是:

  • 显示单个帖子,页面或其他帖子类型的模板文件.
  • 显示档案的模板文件,例如类别档案,标记档案,日期档案,作者归档
  • 主页的模板文件和/或主博客页面 front-page.php home.php .
  • 模板文件,用于显示404页等特殊页面.
  • index.php文件,可用于在没有更具体的模板文件的情况下显示单个帖子或存档.
  • 模板零件.这些aren真的是模板文件,但它们值得一提,因为您将在模板文件中使用它们.

在一瞬间,我又通过这些中的每一个工作,但首先它有助于了解WordPress如何选择模板文件.

模板层次结构

在详细研究不同类型的模板文件之前,知道WordPress如何决定在您的网站上的任何给定页面上使用哪一个.

wordpress使用模板层次结构,它是不同类型的模板文件的列表,按顺序.WordPress将始终使用正在显示的内容类型的最具体文件,其中index.php作为最终的回退.这就是为什么每个主题都需要索引.php文件-理论上,您可以使用该文件并使用它来显示站点中的所有内容.在实践中,最好使用多个模板文件.

The WordPress template hierarchy

这是一个示例,用于说明它是如何工作的.

让我们说某人正在查看您网站上的"WordPress"类别归档.WordPress将以特定顺序查找相关的模板文件,并使用第一个发现的内容显示内容:


  1. 该特定类别的类别模板文件,该类别使用类别slug命名.在这种情况下,它将是类别-WordPress.php .
  2. 一个常规类别模板文件: category.php .
  3. 归档模板文件: archive.php .
  4. 索引文件: index.php .

因此,如果您的主题有一个 archive.php 文件和 category.php 文件以及 index.php ,它将使用类别.php .

现在让我们来看看你的联系人页面,它有SLUG 联系人.WordPress将以顺序查找这些文件:

  1. 自定义页面模板,如果您已在其编辑屏幕中分配给您的页面.
  2. 使用其slug的该特定页面的页面模板-因此它将是页面-College.php .
  3. 一般页面模板- page.php .
  4. 任何帖子类型的所有单数帖子的模板文件,包括页面- singular.php .
  5. 倒退 index.php .

在我写的主题中,我始终包含页面文件.这反映了所需的事实需要与帖子不同地显示.

wordpress将通过层次结构进行存档文件和任何帖子类型的单个帖子以类似的方式-在开始创建模板文件之前,您可以熟悉层次结构,所以您知道它们是如何使用的.

详细介绍单个模板文件

在显示自定义帖子类型的任何类型的单个帖子,页面或帖子时,WordPress将使用一个帖子的模板.这可能是特定于个别帖子,到帖子类型,或只是奇偶offular.php或index.php文件.

单个模板文件将包含以下内容:

  • 使用get_header()调用头文件.
  • 一个输出帖子标题及其内容的循环.对于单个帖子,该文件通常包括元数据,例如日期,类别等.
  • 使用get_sidebar()调用侧栏文件.如果为全宽页面创建自定义页面模板,则不会包含它-或者它将,但侧栏将被不同地样式,以便在内容下显示而不是旁边.
  • 使用get_footer()对页脚呼叫.

当然,所包含的细节将根据关键字类型和主题的要求而有所不同.例如,元数据对于不同的帖子类型将是不同的,并且您可以在某些帖子类型中包含特色图像(也称为后缩略图),而不是其他帖子.

以下是您可以创建的不同类型的单个模板,按顺序在层次结构中查找它们的顺序:

  • 对于posts,Wordpress将查找具有名称​​ $ custom.php (即您提供的名称)的自定义帖子模板,如果在编辑屏幕中选择了该模板,则单Post.php ,然后 single.php ,后跟 singular.php ,最后 index.php.

  • 对于静态页面,WordPress将使用自定义页面模板,如果您在其编辑屏幕中为您的页面分配了一个页面,然后使用其slug为该特定页面的页面模板分配,然后 Page.php, sinfular.php index.php .
  • 用于附件(i.e图像),WordPress将首先查找 $ mimetype-$ subtype.php 文件,其中 $ mimetype 是附件的类型(例如,图像或视频)和 $ subtype 是文件类型(例如png或jpeg).然后是 $ subtype.php ,然后 $ mimetype.php 附件.php,最后 single.php sicular.php index.php .
  • 对于自定义帖子类型,WordPress将查找该帖子类型的模板,其中包含特定帖子的slu(单-$ postytpe-$ slug.php ),然后是单个- $ posttype.php single.php singular.php ,最后 index.php .

注意:在 single.php singular.php 之间很容易混淆. single.php 文件适用于除页面之外的所有帖子类型,并且在Page.php的层次结构中等效. singular.php 文件适用于帖子和页面,是 index.php 之前的最后一个选项.

详细归档模板文件

归档模板文件从单个模板文件略有不同,因为它们的设计不用于读取帖子(或页面),而是用于提供人们可以单击到的帖子列表.

归档模板文件仍将包含标题,页脚和侧栏,但循环可能在多种方式中的一种或多种方式不同:

  • 您可能会输出摘录而不是完整内容.有些主题在存档页面上输出完整内容,但在我的视图中,这比摘要更少用户友好.
  • 如果您包括特色图像,则不希望以全尺寸输出,而是在缩略图或中等大小.
  • 您可能希望显示不同的元数据.
  • 您将在下标题标记中输出每个帖子的标题而不是单个帖子.例如,您可能会在h1标记中输出单个页面或帖子的帖子标题,而是在归档模板中,将主页页面标题放在h1标记中,在h2标记中的帖子标题中.

您还需要在循环之前添加标题的归档;你是如何做到这一点取决于您正在创建的存档类型.

这是WordPress在显示存档页面时查找:

  • 作者归档:作者- $ nicename.php ,其中 $ nicename 是作者在网站上使用的名称;然后作者- $ ID .php,其中 $ id 是作者的ID,后跟 author.php archive.php 最后 index.php .
  • 类别归档:类别- $ slug.php ,使用该类别的slug,然后使用slug,然后使用类别- $ id.php ,后跟 category.php archive.php index.php .
  • 标记归档以与类别档案相同的方式工作,从文件名中的类别代替标记.
  • 自定义帖子类型归档: archive-$ posttype.php ,其中 $ posttype 是注册时使用的帖子类型的ID.然后是 archive.php index.php .
  • 日期归档: date.php ,然后 archive.php ,然后 index.php .
  • 自定义分类学档案:分类- $分类- $ tomper.php ,其中 $分类学是分类学和 $术语的slug是当前显示的术语中的slug,在该分类中,然后是分类- $ caxonomy.php ,然后 caxonomy.php Archive.php index.php .因此,如果您有一个 product_type 分类物和一个窗口小部件术语,则Wordpress将查找分类- product_type-widget.php ,然后 taxonomy-product_type.php ,然后 CaConony.php archive.php index.php .

请注意,在 Index.php 之前,所有存档文件将默认为 archive.php .因此,最重要的是将此文件添加到主题是一个好主意.

主页和主博客页

如果首页是静态页面或帖子的列表,则层次结构中的第一个模板文件是 Front-Page.php .我经常使用它来使用标准循环显示静态页面的内容,然后添加一个或多个实例的WP_Query以输出最近的帖子.

如果您的主页是静态页面,并且没有 front-page.php ,那么WordPress将使用页面模板,以与任何正常页面相同的方式.

如果您的主页也是您的博客页面,WordPress将查找 home.php 下一个,然后是 index.php .

如果您的主页是静态页面,WordPress将使用 Home.php 为您的主博客页面,然后使用 Index.php .请注意,您的其他存档模板文件都不用于主博客页面,因此 not 期望您在那里使用的 archive.php 文件.

详细的特殊模板

404页面有自己的模板文件,旨在在出现错误时显示.如果您未创建一个,WordPress将返回到 Index.php 文件,因此您需要包含一个错误消息,即在is_404()条件标记内.

创建一个 404 .php模板文件是一个好主意,以便包括额外的内容,旨在帮助遇到错误的人,例如搜索框或您网站的最多列表最近的帖子.这意味着人们在错误页面上有一些地方,你就不太可能失去它们.

另一个特殊模板是 search.php 文件.这包括输出搜索结果的循环加上介绍文本解释列出的内容.您还可以添加额外的内容,例如您最近的帖子列表,以防搜索不会产生任何结果.

模板部分详细介绍

模板零件可帮助您更高效地进行代码.通过将包含在多个模板文件中包含的代码的部分分离出来,您只需要编写一次代码.

最常用的模板部分是:

  • header.php -从页面打开到页眉末尾的所有内容.这将包括头部,主体部分的开口,标题元件和主导航.
  • sidebar.php -对于侧边栏小部件.
  • footer.php -用于页面页脚(页脚元素),wp_footer钩子和关闭</body>标记.
  • loop.php -循环.编码这一一次意味着您可以在多个模板文件中使用相同的循环,并且如果必要时,您只需要编辑一次.您可以为不同类型的内容创建多个版本的循环,并从相关的模板文件调用它们,例如一个用于单个帖子,一个用于页面,一个用于档案.

标题,侧边栏和页脚文件每个都有自己的模板标记,您可以在模板文件中包含它们:get_header()get_sidebar()get_footer().对于循环,请使用get_template_part( 'loop' )包含一个名为 loop.php 的文件.

了解模板文件将帮助您构建主题

本帖子旨在帮助您了解主题模板文件以及它们的工作原理.您现在知道它们包含的内容,他们设计的是什么以及WordPress如何决定哪一个使用.这将有助于您决定哪些文件添加到您自己的主题并有效地代码.

2
订阅评论
提醒
0 评论
内联反馈
查看所有评论