【问题标题】:Wordpress - all pages link to the index.php fileWordpress - 所有页面链接到 index.php 文件
【发布时间】:2025-12-27 00:55:11
【问题描述】:

[WORDPRESS 的新功能]

我正在使用自己的 css 等创建我自己的 wordpress 主题。我已经设法在 index.php 文件中获得了所有内容,并且我现在也在尝试制作其他页面。

当我创建 home.php、blog.php、about.php 和 contact.php 文件(在我的主题文件夹中)时,它们不会链接到它。我正在关注 Lynda.com 上的“WordPress 3:使用 Chris Coyier 创建和编辑自定义主题”,该示例显示,每当您创建与页面同名的文件时,它都会直接使用(在他的教程中有效) )。

有谁知道发生了什么?

示例: 我的主题文件夹中有一个文件 blog.php,当我转到 www.mydomain.com/blog 时,加载的文件是 index.php 文件,而不是 blog.php 文件

【问题讨论】:

  • 愚蠢的问题,但你的 WP 中真的有名为“博客”、“关于”等的页面吗?
  • 您是否在新页面文件中添加了页面模板名称?
  • 我不确定你的意思。您的主题文件夹中有一个名为“blog.php”的文件 - 但是什么没有链接到什么?您的 blog.php 文件(在您的站点中)没有提取该文件的内容以进行主题化?
  • @Raad 是的。所有页面都在“页面”部分。我还通过外观->菜单从 4 页中制作了一个动态菜单。
  • @WarreBuysse 尝试在模板名称中使用页面 slug 而不是页面标题。

标签: php html wordpress wordpress-theming


【解决方案1】:

您可以通过两种方式使用自定义页面模板来完成这项工作。

  1. 使用页面标签或 ID 为特定页面创建模板。在这种情况下,像这样更改 php 文件的名称以匹配您在 UI 中创建的页面的名称:page-home.php、page-blog.php、page-about.php 和 page-contact.php

  2. 更灵活的是创建可在任何页面上使用的自定义模板。只需将模板名称添加到 php 文件的顶部,如下所示(在 php 块内):

    /* 模板名称:我的主页模板 */

然后编辑页面并从模板下拉菜单中选择您的自定义模板(我认为在右侧,如果它可见的话)。

更多信息请参考此页面:https://developer.wordpress.org/themes/template-files-section/page-template-files/

【讨论】:

    【解决方案2】:

    找到解决我(愚蠢)问题的方法。

    在您的主题目录中创建一个页面并在您的 php 文件顶部添加模板注释是不够的。您需要转到管理面板->页面->您的页面->并检查页面属性。在那里您可以将页面链接到某个模板:http://d.pr/i/a0m0

    【讨论】:

    • 没错,尽管我的印象是您可以将其设置为“默认模板”并且它会起作用(假设其他要求设置正确)-奇怪...跨度>
    • 嗯,我也是这么想的,因为在教程中他没有修改就这样做了。确实很奇怪,但我很高兴它现在可以工作了。