结论:如果是做一个定制化的主题,用于特定的展示,在 front-page.php 中实现就好。
wordpress 页面布局/结构的四种类型
- Blog 最常见的页面布局,毕竟 wordpress 是主打博客系统。主要是展示博客列表。
- Static Front Page 静态页展示
- Static Front Page Plus Blog 静态页加博客内容展示,例如联系方式、公司介绍等。具体内容写在 Blog 中。
- Dynamic Front Page 这个没看明白。
Blog Page
新建一个页面,如果不选择页面模板,并且不填写任何内容,则生成了一个 Blog Page。其会自动以 home.php 或者 index.php 作为模板。(如果 home.php 不存在,则会使用 index.php)
而,如果 front-page.php 文件如果存在的话,则 home.php, index.php 均不会被采用。也就是说,只要 front-page.php 存在的话,就不能使用 Blog Page 作为首页。 需要注意的是,如果在主题中新建了一个 front-page.php 文件,需要在后台“静态首页”里,随便切换一下,才能生效。生效之后,会发现,无论是选择 "您的最新文章" 还是 "一个静态页面" 作为首页展示,都显示的是 front-page.php 的输出。
front-page.php, home.php, page.php, index.php 的迷之关系
首先,这四个文件都与后台管理中的“静态首页”-“首页显示”有关。
逻辑大致是这样的
- 如果,front-page.php 存在,无论选择 "您的最新文章" 还是 "一个静态页面" 作为首页展示,都是采用 front-page.php 作为模板,没有其他三个文件啥事情。
- 如果,front-page.php 不存在,并且选择了 "您的最新文章" 作为首页展示,则会以 home.php 作为模板。另外,如果 posts page 也设定了页面,也会用到 home.php.
- 如果,front-page.php 不存在,并且选择了 "一个静态页面" 作为首页展示,则会使用 page.php 模板。模板的优先级为 page-{id}.php, page-{slug}.php, page.php, index.php
- 如果,选择了 "您的最新文章" 作为首页展示,并且 home.php 不存在,则会以 index.php 为模板。或者,front page 设置了页面,但是 page.php 不存在,也会使用 index.php 作为模板。
参考
- Creating a Static Front Page « WordPress Codex
- Template Hierarchy | Theme Developer Handbook | WordPress Developer Resources
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式