社区新闻

揭秘 WordPress 主题开发中的首页和文章页模板

查看官方原文 ↗ 发布于

WordPress 用户可以自定义首页显示的内容类型。新站点的默认行为是显示最新文章列表,但也可以设置一个静态页面作为首页。

要更改默认设置以显示静态页面,可以访问 WordPress 管理后台的设置 > 阅读。用户可以在那里为首页和文章页选择已发布的页面。在这种情况下,在网站根目录显示静态页面意味着最新文章将出现在另一个独立的静态页面上。

作为主题开发者,为最终用户创建最佳方案可能看起来很复杂,从更高层面理解会有所帮助。

WordPress 模板层级

作为主题开发者,你可能熟悉 WordPress 模板层级。如果不熟悉,建议深入学习。模板层级是构建主题时需要理解的最重要概念之一。WordPress 模板层级与活动主题协同工作,以确定 WordPress 站点的任何给定视图将由哪个模板文件生成。强烈推荐 LearnWordPress.org 上的这篇教程,它涵盖了 WordPress 模板层级的基础知识。

模板层级会尝试为访问者正在查看的页面寻找模板,按照从具体到通用的顺序查找,如果找不到其他模板,则回退到通用的 index 模板。

对于在站点编辑器中创建了用户级模板的站点,层级结构保持不变,只是模板可能不再来自活动主题,而是使用存储在数据库中的、用户更改过的模板。

WordPress 将按以下顺序查找模板,并使用它找到的第一个:

  • 用户(站点编辑器)
  • 活动主题
  • 父主题(如果使用的是子主题)

文件扩展名和文件在主题目录中的位置取决于你创建的主题类型。经典主题使用 PHP 文件,通常位于主题的根目录;而区块主题则在名为 “templates” 的文件夹中使用 HTML 文件。

下文引用的模板名称不包含文件扩展名。文件扩展名对于经典主题是 .php,对于区块主题是 .html。

以最新文章作为首页的模板

WordPress 将从以下列表中为首页使用找到的第一个模板:

  • front-page
  • home
  • index
最新文章模板层级

静态首页和文章页的模板

当为首页显示选择静态页面时,可以从站点已发布的页面列表中设置一个首页和一个文章页。在首页选项中指定的页面将显示在网站根目录。

如果为首页设置了静态页面,WordPress 将从以下列表中为首页使用找到的第一个模板:

  • front-page
  • 自定义页面模板(在页面级别设置)
  • page
  • singular
  • index
静态页面“首页”模板层级

静态文章页只有两个潜在的模板选项:

  • home
  • index

设置为文章页的已发布页面不会使用自定义页面模板。通常,除非模板明确包含页面标题和内容,否则此页面不会显示页面标题或内容。

静态页面“文章页”模板层级

Front-page 模板

Front-page 模板值得特别一提。如果在模板源链中的任何位置存在 front-page 模板,无论阅读设置如何或在页面级别分配了任何自定义模板,它都将被用作首页模板。正因如此,front-page 模板可能并非每个主题的最佳选择。

Front-page 模板的主要用例是用于那些从激活那一刻起就应该具有页面样式视图的主题或站点,无论阅读设置如何。一个用例可能是用于与传统最新文章页面不同的动态首页。或者,具有特定首页设计的站点可以从使用front-page模板中受益。

静态文章页

当将最新文章分配给静态页面时,前端视图通常不会像标准页面那样显示页面标题或内容。相反,它将从 home 模板或 index 模板派生内容。该页面充当占位符,允许模板显示最新文章。

WordPress 模板层级是 WordPress 主题引擎的强大组成部分,无论你是构建经典主题、区块主题,还是使用站点编辑器来自定义或扩展现有主题。本文仅简要介绍了模板层级的一个方面。

延伸学习资源