为什么当Wordpress加载其他页面时,index.php上的操作会运行?

时间:2017-01-26 18:38:25

标签: php wordpress .htaccess templates action

我在Wordpress信息中心的Settings > Reading部分将“首页显示”设置为“您的最新帖子”,我想使用front-page.php作为我的目标网页。

除了index.php之外,我对它没有任何用处。我想作为一个后备,我只想显示主页,所以我只是在front-page.php中加入了index.php

的index.php

<?php include('front-page.php'); ?>

问题在于front-page.php内部,我正在运行一些操作。

前page.php文件

<?php do_action('myaction'); ?>

当我加载网站front-page.php时,这些操作似乎都运行了两次。为什么index.php上的操作会在加载front-page.php时运行?

这导致我删除include()内的index.php语句,只使用空的index.php文件。那不可能是对的吗?为什么这些操作在页面加载时会运行两次?

2 个答案:

答案 0 :(得分:1)

WordPress使用.htaccess文件将所有请求重定向到index.php,然后加载想要的页面。
在您的情况下,这意味着首先加载/front-page.php index.php,然后加载front-page.php

为了重定向到front-page.php,我建议你在index.php中执行以下步骤:

  • 查看当前网址是否为index.php
  • 如果我们在索引上,请发送重定向标头Header("Location: front-page.php");,然后发送exitdie
  • 如果没有,请继续照常加载

答案 1 :(得分:0)

你可以随时放置一些&#34; test&#34;您怀疑可能正在加载的文件中的文本,以确保您看到正确的文件。只需将

TEST

或其他内容放入文件中,看看它是否显示在屏幕上。现在你知道正在加载哪个文件。

如果你想要的文件没有正确编码或者它的名字不正确,它将默认为index.php多次。我以前遇到过这个问题!