在自定义.php文件中包含wp-load.php会导致页面处理停止。为什么?

时间:2017-10-03 10:35:59

标签: php wordpress wordpress-theming require-once

我有一个WP网站运行版本4.8.2。 我在我的主题的根文件夹中创建了一个包含Wordpress函数的自定义php页面,其中包含以下代码:

<?php
echo 'ralph';
clearstatcache();
echo file_exists('../../../wp-load.php');
require_once('../../../wp-load.php');
echo 'joe';
?>

最终结果应该是在页面上显示字符串&#39; ralph1joe &#39; (1代表wp-load.php实际存在的事实。)

问题是:当我启动自定义页面时,只有字符串&#39; ralph1 &#39;是可视化的。 require_once 行之后的任何指令都将被忽略。我在页面和日志文件中都看不到任何错误。页面的过程只是被中断了。

有什么办法可以让 require_once 行正常工作吗?

3 个答案:

答案 0 :(得分:1)

我认为问题出在 wp_load.php 上,或者您可能无法正确读取wp_load.php文件。

Wp_load总是需要 wp_config.php 如果它没有得到它,它将会因错误而死亡。请参阅wp_load.php文件中的以下代码

$die  = __( "There doesn't seem to be a <code>wp-config.php</code> file. I need this before we can get started." ) . '</p>';

使用更多相同的代码,以及与之相关的错误。

所以当你 require_once&#39; wp_load.php&#39; 并且它没有 wp_config.php 它会死并停止执行你不会得到任何进一步的印刷声明

希望它能澄清你。

答案 1 :(得分:0)

我解决了这个问题。我安装的插件显然造成了冲突。 该插件名为所有404重定向到主页 停用它会导致我的自定义页面再次正常工作。

答案 2 :(得分:0)

在我的代码中,此错误是由函数内所需的行引起的。我删除了这行并将其放置在主要代码中。