模板文件在整个WordPress主题中使用,但首先让我们了解一下术语。
模板术语
在处理WordPress主题时,"模板 "一词有不同的使用方式:
在经典主题中,模板标签是内置的WordPress函数,你可以在模板文件中使用,以检索和显示数据,如the_title()和the_content()。
在区块主题中,区块被用来代替模板标签。
模板文件
WordPress主题是由模板文件组成的。
- 在经典主题中,这些都是PHP文件,包含了HTML、模板标签和PHP代码相混合。
- 在区块主题中,这些是包含代表区块的HTML标记的HTML文件。
在构建主题时,你将使用模板文件影响网站不同部分的布局和设计。例如,可以使用header模板或模板片段创建页眉。
当有人访问您网站上的页面时,WordPress会根据请求加载模板。模板文件在中显示的内容类型由与模板文件关联的文章类型确定。模板层级结构描述WordPress将根据请求的类型以及主题中是否存在模板来加载哪个模板文件。然后服务器解析模板中的代码,并将HTML返回给访问者。
最关键的模板文件是index(索引),如果在模板层级结构中找不到更具体的模板,则index是“包罗万象”模板。虽然主题中只需要有个index模板就能工作,但通常主题包含许多模板来显示不同的内容类型和上下文。
模板片段
模板片段是被作为一个模板的一部分被包含在模板中,比如类似网站页眉部分。模板片段可以嵌入到多个模板中,简化了主题的创建。常用模板片段包括:
header.php
或header.html
用于生成站点页眉footer.php
或footer.html
用于生成页脚sidebar.php
或sidebar.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中,你可以在最终生成的页面中包含其他文件:
- 要包含页眉使用 get_header()
- 要包含侧边栏使用 get_sidebar()
- 要包含页脚使用 get_footer()
- 要包含搜索表单使用 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"} /-->