我有一个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 行正常工作吗?
答案 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)
在我的代码中,此错误是由函数内所需的行引起的。我删除了这行并将其放置在主要代码中。