模板文件

模板文件在整个 WordPress 主题中都有使用,但首先让我们了解一下术语。

模板术语

在使用 WordPress 主题时,术语“模板”以不同的方式使用:

  • 模板文件存在于主题中并表达您的站点的显示方式。
  • 模板层次结构是 WordPress 用于根据请求的内容决定使用哪个主题模板文件的逻辑。
  • 页面模板是那些适用于页面、帖子和自定义帖子类型以更改其外观和感觉的模板。

在经典主题中, 模板标签是内置的 WordPress 功能,您可以在模板文件中使用它来检索和显示数据(例如the_title()the_content())。

**在块主题中,**使用块代替模板标签。

模板文件

WordPress 主题由模板文件组成。

  • 在经典主题中,这些是包含 HTML、模板标签和 PHP 代码混合的 PHP 文件。
  • 在块主题中,这些是包含表示块的 HTML 标记的 HTML 文件。

在构建主题时,您将使用模板文件来影响网站不同部分的布局和设计。例如,您可以使用header模板或模板部件来创建页眉。

当有人访问您网站上的页面时,WordPress 会根据请求加载模板。模板文件显示的内容类型由与模板文件关联的帖子类型决定。Template  Hierarchy 描述了 WordPress 将根据请求的类型加载哪个模板文件,以及该模板是否存在于主题中。服务器然后解析模板中的代码并将 HTML 返回给访问者。

最关键的模板文件是,如果在模板层次结构the index中找不到更具体的模板,则该文件就是万能模板。虽然一个主题只需要一个 模板,但通常主题包括许多模板来显示不同的内容类型和上下文。index

模板部分

模板部分是模板的一部分,作为另一个模板的一部分包含在内,例如站点标题。模板部分可以嵌入多个模板,简化主题创建。常见的模板部分包括:

  • header.phpheader.html用于生成站点的标题
  • footer.phpfooter.html用于生成页脚
  • sidebar.phpsidebar.html用于生成侧边栏

虽然上述模板文件在 WordPress 中是特例并且仅适用于页面的一部分,但您可以创建任意数量的模板部分并将它们包含在其他模板文件中。

在块主题中,模板部件必须放在一个名为 parts 的文件夹中。

常见的 WordPress 模板文件

以下是 WordPress 识别的一些基本主题模板和文件的列表。

index.php(经典主题)或 index.html(块主题)

主模板文件。所有主题都需要它。

样式.css

主要样式表。它在所有主题中都是必需的,并且包含您的主题的信息标题。

rtl.css文件

如果网站语言的文本方向是从右到左,则自动包含从右到左的样式表。

front-page.php(经典主题)或 front-page.html(块主题)

如果存在首页模板,则始终将其用作站点首页,无论Admin > Settings > Reading上的设置如何。

home.php(经典主题)或 home.html(块主题)

主页模板默认为首页。如果您没有将 WordPress 设置为使用静态首页,则此模板用于显示最新帖子。

singular.php(经典主题)或 singular.html(块主题)

单数模板用于未找到的帖子或未找到的single.php页面。page.php如果singular.php未找到,index.php则使用。

single.php(经典主题)或 single.html(块主题)

当访问者请求单个帖子时,将使用单个帖子模板。

single-{post-type}.php(经典主题)或 single-{post-type}.html(块主题)

当访问者从自定义帖子类型请求单个帖子时使用的单个帖子模板。例如,single-book.php将用于显示来自名为_book_的自定义帖子类型的单个帖子。

archive-{post-type}.php(经典主题)或 archive-{post-type}.html(块主题)

当访问者请求自定义帖子类型存档时,将使用存档帖子类型模板。例如,archive-books.php将用于显示来自名为_books_的自定义帖子类型的帖子存档。archive-{post-type} template如果不存在,则使用存档模板文件。

page.php(经典主题)或 page.html(块主题)

当访问者请求单个页面时使用页面模板,这是一个内置模板。

page-{slug}.php(经典主题)或 page-{slug}.html(块主题)

当访问者请求特定页面时使用页面 slug 模板,例如带有“关于”slug 的页面 (page-about.php)。

category.php(经典主题)或 category.html(块主题)

当访问者按类别请求帖子时,将使用类别模板。

tag.php(经典主题)或 tag.html(块主题)

当访问者通过标签请求帖子时使用标签模板。

taxonomy.php(经典主题)或 taxonomy.html(块主题)

当访问者请求自定义分类中的术语时,将使用分类术语模板。

author.php(经典主题)或 author.html(块主题)

每当访问者加载作者页面时,都会使用作者页面模板。

date.php(经典主题)或 date.html(块主题)

当按日期或时间请求帖子时,将使用日期/时间模板。例如,使用这些 slug 生成的页面:
http://example.com/blog/2014/
http://example.com/blog/2014/05/
http://example.com/blog/2014/05/ 26/

archive.php(经典主题)或 archive.html(块主题)

当访问者请求按类别、作者或日期发布帖子时,将使用存档模板。注意category.php:如果存在更具体的模板,如、author.php和 ,该模板将被覆盖date.php

search.php(经典主题)或 search.html(块主题)

搜索结果模板用于显示访问者的搜索结果。

attachment.php(经典主题)或 attachment.html(块主题)

附件模板在查看单个附件(如图像、pdf 或其他媒体文件)时使用。

image.php(经典主题)或 image.html(块主题)

图像附件模板是更具体的版本attachment.php,在查看单个图像附件时使用。如果不存在,WordPress 将使用attachment.php

404.php(经典主题)或 404.html(块主题)

当 WordPress 找不到符合访问者请求的帖子、页面或其他内容时,将使用 404 模板。

评论.php

经典主题中的评论模板。在块主题中,使用块代替。

使用模板文件

经典主题

在经典主题中,在 WordPress 模板中,您可以使用模板标签来动态显示信息、包含其他模板文件或以其他方式自定义您的站点。

例如,index.php您可以在最终生成的页面中包含其他文件:

  • 要包含标题,请使用获取标题()
  • 要包含侧边栏,请使用get_sidebar()
  • 要包含页脚,请使用获取页脚()
  • 要包含搜索表单,请使用get_search_form()
  • 要包含自定义主题文件,请使用get_template_part()

以下是将特定模板_包含_到您的页面中的WordPress 模板标签示例 :

<?php get_sidebar(); ?>
<?php get_template_part( 'featured-content' ); ?>
<?php get_footer(); ?>

模板标签上有一个完整的页面,您可以深入了解它们。

有关链接组件模板的更多信息,请参阅链接主题文件和目录部分。

块主题

在块主题中,您使用块而不是模板标签。块标记是 WordPress 用来显示块的 HTML 代码。模板部件是块,您可以像添加块一样将它们添加到模板文件中。

要包含页眉或页脚模板部分,请为模板部分添加块标记。是slug部件的名称。如果要包含的文件名为header.html,则 slug 为“header”:

<!-- wp:template-part {"slug":"header"} /-->
(your page content)
<!-- wp:template-part {"slug":"footer"} /-->

要包含搜索表单,请使用搜索块的块标记:

<!-- wp:search {"label":"Search","buttonText":"Search"} /-->