模板文件在整个 WordPress 主题中使用,但首先让我们了解一下术语。
一、模板术语
使用 WordPress 主题时,“template”一词以不同的方式使用:
- 模板文件存在于主题中并表达您的网站的显示方式。
- 模板层次结构是 WordPress 用来决定使用哪个主题模板文件的逻辑,具体取决于请求的内容。
- 页面模板是那些适用于页面、帖子和自定义帖子类型以更改其外观和感觉的模板。
在经典主题中,模板标签是内置的 WordPress 函数,您可以在模板文件中使用它来检索和显示数据(例如 the_title() 和 the_content())。
在块主题中,使用块而不是模板标签。
二、模板文件
WordPress 主题由模板文件组成。
- 在经典主题中,这些是包含 HTML、模板标签和 PHP 代码混合的 PHP 文件。
- 在块主题中,这些是包含表示块的 HTML 标记的 HTML 文件。
在构建主题时,您将使用模板文件来影响网站不同部分的布局和设计。 例如,您将使用页眉模板或模板部分来创建页眉。
当有人访问您网站上的页面时,WordPress 会根据请求加载模板。 模板文件显示的内容类型由与模板文件关联的帖子类型确定。 模板层次结构描述了 WordPress 将根据请求类型以及模板是否存在于主题中加载的模板文件。 然后服务器解析模板中的代码并将 HTML 返回给访问者。
最关键的模板文件是索引,如果在模板层次结构中找不到更具体的模板,它就是包罗万象的模板。 虽然一个主题只需要一个索引模板,但通常主题包括许多模板来显示不同的内容类型和上下文。
三、模板部分
模板部分是作为另一个模板(例如站点标题)的一部分包含的模板的一部分。 模板部分可以嵌入多个模板,简化主题创建。 常见的模板部分包括:
- header.php 或 header.html 用于生成站点的标题
- 用于生成页脚的 footer.php 或 footer.html
- 用于生成侧边栏的 sidebar.php 或 sidebar.html
虽然上述模板文件在 WordPress 中是特殊情况并且仅适用于页面的一部分,但您可以创建任意数量的模板部分并将它们包含在其他模板文件中。
在块主题中,模板部件必须放在名为部件的文件夹中。
四、常用 WordPress 模板文件
以下是 WordPress 识别的一些基本主题模板和文件的列表。
index.php
主模板文件。 所有主题都需要它。
style.css
主样式表。 它在所有主题中都是必需的,并且包含主题的信息标题。
rtl.css
如果网站语言的文本方向是从右到左,则会自动包含从右到左的样式表。
front-page.php(经典主题)或 front-page.html(块主题)
无论“管理”>“设置”>“阅读”上的设置如何,首页模板始终用作站点首页(如果存在)。
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} 模板不存在,则使用存档模板文件。
page.php(经典主题)或 page.html(块主题)
当访问者请求单个页面时使用页面模板,这是一个内置模板。
page-{slug}.php(经典主题)或archive-{post-type}.html(块主题)
当访问者请求特定页面时使用页面 slug 模板,例如带有“about”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 模板。
comments.php
经典主题中的评论模板。 在块主题中,改为使用块。
五、使用模板文件
1、经典主题
在经典主题中,在 WordPress 模板中,您可以使用模板标签来动态显示信息、包含其他模板文件或以其他方式自定义您的网站。
例如,在您的 index.php 中,您可以在最终生成的页面中包含其他文件:
- 要包含头部,请使用 get_header()
- 要包含侧边栏,请使用 get_sidebar()
- 要包含页脚,请使用 get_footer()
- 要包含搜索表单,请使用 get_search_form()
- 要包含自定义主题文件,请使用 get_template_part()
以下是 WordPress 模板标签的示例,可将特定模板包含到您的页面中:
1 <?php get_sidebar(); ?> 2 <?php get_template_part( 'featured-content' ); ?> 3 <?php get_footer(); ?>
2、块主题
在块主题中,您使用块而不是模板标签。 块标记是 WordPress 用来显示块的 HTML 代码。 模板部件是块,您将它们添加到模板文件中的方式与添加块的方式相同。
要包含页眉或页脚模板部分,请为模板部分添加块标记。 slug 是零件的名称。 如果您要包含的文件名为 header.html,那么 slug 就是“header”:
1 <!-- wp:template-part {"slug":"header"} /--> 2 (your page content) 3 <!-- wp:template-part {"slug":"footer"} /-->
要包含搜索表单,请使用搜索块的块标记:
1 <!-- wp:search {"label":"Search","buttonText":"Search"} /-->