新的定制PHP页面将获得404

时间:2018-06-21 作者:Jeremy

当我创建新的php页面并尝试访问它们时,我收到了404。例如,我创建了文件page-tacos.php (存储在我的子主题目录中)但是当我尝试访问localhost:8888/tacos 我得到一个404。

我在过去添加了几个自定义页面,每当我遇到这个问题时,我都会遵循this question 这会解决我的问题。然而,现在刷新重写规则并不能解决它。

我尝试重命名文件,使其不包含“page-”前缀,重新保存永久链接,然后运行flush_rewrite_rules( false ); 无济于事。

我的htaccess文件未更改。

有人有其他建议吗?

2 个回复
最合适的回答,由SO网友:Pat J 整理而成

根据Template Hierarchy, 创建文件page-tacos.php 在活动主题中,将创建模板,用于查看包含slug的页面tacos, 但它不会创建页面。您还需要add the page 在WordPress的后端。

SO网友:Tom J Nowell

这里的事情是以一种相当字面的方式向后进行的。模板不确定内容/URL。内容/URL确定模板。

如果创建页面test/test 它将加载page.php, 但您可以添加page-test.php 它将选择可用的最具体的模板,允许您只覆盖该页面。

以下是加载URL时发生的情况:

WP处理URL将URL转换为查询参数(与WP_Queryget_posts ), 这是执行永久链接/重写规则的地方。它查看这些参数并确定它是存档还是搜索页等。然后运行查询并获取帖子,然后根据参数确定要加载的模板

WP使用模板层次结构确定要加载的模板,因此您可以使用该层次结构使其模板选择更加具体/定制。

结束