模板

模板是主题开发的最重要方面之一。它们是您放在一起表示出现在网站前端的文档结构的文件。与结合时全局设置和样式(主题.json),您最终可以创建一个独特的设计,供您自己、客户或与世界共享。

模板是您决定在主题中放置内容的方式。 

想在网站底部添加一个巨大的页脚吗?可以通过在模板底部的Group块中添加特定块来实现。

想要内容区域旁边的侧边栏吗?没问题。您可以在一个或多个模板中放置Columns块来创建该布局。

模板简介,您大致了解了WordPress模板系统的工作原理。在本文档中,我们将更深入地研究模板本身。

模板是如何工作的?

每当有人访问你网站上的任何页面时,WordPress都会查看URL,在后台运行一些逻辑,并找出访问者正在查看的页面类型。无论如何,这是一个非常简单的解释。对于主题开发,您不需要知道怎样这个过程的这一部分工作得太深入了&这就是最终的结果。

一旦WordPress确定了页面类型,它就会运行“模板加载程序”,搜索与页面类型匹配的模板。它通过尝试在页面类型的模板层次结构中定位模板来实现这一点,这在模板层次结构文档。

WordPress将按优先级顺序搜索层次结构中的模板。如果它在这些位置中的任何一个找到匹配项,它将停止在层次结构中搜索:

  • 用户在数据库中保存的模板。
  • 子主题中的模板/模板文件夹(如果子主题处于活动状态)。
  • 主题中的模板/模板文件夹。

一旦找到与层次结构中的页面类型匹配的模板,就会加载该模板。然后解析其块标记,WordPress输出结果HTML标记供浏览器使用。

模板中有什么?

块主题模板完全由块标记组成。就是这样。真正地。

好的。这比那稍微微妙一些。您通常会在块模板中看到以下内容:

  • 块标记
  • 模板零件参考
  • 块图案参考

最终,这些东西仍然是块标记。

下面是对/模板/404.html模板文件,其中包括所有三项内容:

<!-- wp:template-part{“slug”:“header”,“tagName”:“header”}/--><!-- wp:group{“tagName”:“main”,“layout”:{“type”:“constrained”}}--><main class=“wp-block-group”><!-- wp:pattern{“slug”:“twentythentythi3/hidden-404”}/--></main><!-- /wp:组--><!-- wp:template-part{“slug”:“footer”,“tagName”:“feoter”}/-->

当然,块模板可能要复杂得多。关键是块模板必须完全由块标记组成,WordPress才能正确解析代码并将其输出到浏览器。

要更深入地了解块的体系结构,请查看关键概念块编辑器手册中的文档。

组织模板

对于块主题,只有一个位置可以放置块模板:在主题的/模板文件夹。它的结构应该如下:

  • 模板/
    • 404.html(英语)
    • 档案.html
    • 作者.html
    • 主页.html
    • 索引.html(必需)
    • 页面.html
    • 单数.html

所需的最小模板文件为索引.html。此文件的存在是WordPress确定主题为块主题的方式。

除此之外,您可以根据需要包含尽可能多或尽可能少的模板来实现主题设计。

从技术上讲,WordPress也会在/块状模板文件夹(如果主题中存在)。这是为了向后兼容旧版本的WordPress。但建议始终使用/模板文件夹。

构建模板

虽然从技术上讲,您可以为模板文件中的模板键入所有块标记,但这并不是使用块主题时的典型体验。在大多数情况下,您将从可视界面工作,并将块代码迁移到模板文件。

要探索如何使用可视化界面,请阅读有关使用站点和模板编辑器的支持指南:

编辑模板

要从WordPress管理员访问模板,请打开外观>编辑器管理菜单中的菜单。然后单击模板侧边栏中的项目:

站点编辑器中的WordPress模板界面,左侧显示模板选项,右侧显示预览面板。

此屏幕列出了站点的所有现有模板,这些模板可以来自三个位置:

  • 保存在数据库中的用户创建的模板
  • 主题的模板/模板文件夹
  • 插件动态添加的模板

从那里,您可以对现有模板进行自定义,并根据自己的喜好调整块。

请记住,如果保存这些模板,它们将存储在数据库中,并将否决主题中的任何模板。如果您计划将此主题分发给其他人或在其他站点上使用,则必须将块标记复制到/模板文件夹,如中所述模板简介.

添加新模板

您可以通过单击添加新模板(+旁边的图标模板标题)。这将创建如下所示的模式覆盖:

WordPress添加模板模式覆盖了网站编辑器。

从那里,您将能够创建一个完全自定义的模板(如果它还不存在用于编辑)。

同样,通过编辑器添加的任何新模板都会保存在数据库中。必须在内部创建模板文件/模板如果您打算分发主题,请将块标记复制到文件夹中。确保模板文件名与模板层次结构(例如,主页模板文件名为主页.html).

自定义模板

自定义模板是可以分配给自定义帖子类型的各个帖子、页面或条目的模板。它们用于站点前端的单个帖子视图。

您或您的主题用户可以从模板中的设置文章/页面文章编辑器侧栏中的面板:

侧栏中打开模板选项的WordPress帖子编辑器。空白模板选项高亮显示。

这可能是一个强大的功能,可以让您为特定情况创建独特的设计。例如,您可以添加一些简单的内容,比如带有联系人表单的不同版面,或者添加一些复杂的内容,例如带有多个帖子查询和其他部分的新闻杂志版面。

从添加新模板时模板屏幕上,您还可以创建自定义模板。添加模板覆盖,有一个名为自定义模板。单击它,您将在站点数据库中添加新的自定义模板。

但要将模板与主题一起分发,必须将其添加到主题的自定义模板文件中/模板文件夹。

自定义模板的优点是,文件名可以是您想要的任何文件名。只需确保避免使用模板层次结构,所以请确保它是唯一的。

因为自定义模板可以是任何东西,所以对于应该在其中包含哪些块标记没有确切的规则。但是,如果您想显示文章或页面内容,请确保在其中的某个位置使用了“文章内容”块。

唯一的其他规则是,您必须通过主题.json文件。如何做到这一点在自定义模板文件全局设置和样式第章。

最初,自定义模板被称为“页面模板”。这是因为该功能仅适用于初始实现中的页面。最终,帖子和其他自定义帖子类型可以使用该功能,因此它被重新命名为“自定义模板”。但您可能会在其他文档或第三方网站上看到这些称为页面模板的内容。