模板文件

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

模板术语

在处理WordPress主题时,"模板 "一词有不同的使用方式:

  • 模板文件存在于一个主题中,表达了你的网站是如何显示的。
  • 模板层级结构是WordPress根据请求的内容决定使用哪个主题模板文件的逻辑。
  • 页面模板是应用于页面、文章和自定义文章类型以更改其外观的模板。

在经典主题中,模板标签是内置的WordPress函数,你可以在模板文件中使用,以检索和显示数据,如the_title()the_content()

在区块主题中,区块被用来代替模板标签。

 

模板文件

WordPress主题是由模板文件组成的。

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

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

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

最关键的模板文件是index(索引),如果在模板层级结构中找不到更具体的模板,则index是“包罗万象”模板。虽然主题中只需要有个index模板就能工作,但通常主题包含许多模板来显示不同的内容类型和上下文。

 

模板片段

模板片段是被作为一个模板的一部分被包含在模板中,比如类似网站页眉部分。模板片段可以嵌入到多个模板中,简化了主题的创建。常用模板片段包括:

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

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

在区块主题中,模板片段必须放置在名为parts的文件夹中。

 

WordPress常用模板文件

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

index.php

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

style.css

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

rtl.css

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

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

首页模板如果存在,始终用作网站首页,无论后台管理 > 设置 > 阅读里是如何设置的。

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

默认情况下,home模板是首页。如果未将WordPress设置为使用静态首页,则此模板用于显示最新文章。

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

当single.php没有找到时,singular模板用于文章,当page.php没有找到时,用于页面。如果没有找到singular.php,则使用index.php。

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

当访问者请求单个文章时,使用single模板。

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}模板不存在,将使用archive模板。

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

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

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

当访问者请求一个特定的页面时,例如页面slug为"about"的页面(page-about.php),就会使用此模板。

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

当访问者按类别请求文章时,使用类别模板。

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

当访问者按标签请求文章时,使用标签模板。

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

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

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

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

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

当请求按发布日期或时间的文章时,使用此模板,例如,这样的页面:
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模板。

comments.php

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

 

使用模板文件

 

经典主题

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

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

以下是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"} /-->