wp_redirect&标题重定向阻止我使用Wordpress函数

时间:2014-08-24 19:43:30

标签: php wordpress redirect

执行重定向后,我的functions.php文件中的所有函数都不起作用。

更具体地说,我所做的是使用第一个php文件进行初始API调用,将数组写入txt文件,然后重定向到另一个php文件,该文件以读取txt文件开始然后制作另一个基于第一个数组的API调用。然后解析该数据,并以特定格式将其放入wp数据库。

我知道问题在于重新定位,因为我已经测试了多个场景,如下所示,它们都指向重定向是罪魁祸首。

例如,在我的第一个php文件中,我有以下内容。

if (function_exists('is_wp_version')){
    echo "is_wp_version exists!! <br>";
} else {
    echo "is_wp_version, it does not exist <br>";
}


if (function_exists('fopen')){
    echo "fopen exists!! <br>";
} else {
    echo "fopen, it does not exist <br>";
}

... More code...
... More code...

wp_redirect( 'PHPfile2.php', 301 ); exit; // I have also tried the header 
//function with same results
?>

如果我注释掉重定向线,我将始终看到打印下面的输出。

is_wp_version exists!!
fopen exists!!

然而,在PHPfile2.php中,我总是看到以下内容并得到一些错误和以下输出。

is_wp_version, it does not exist
fopen exists!!

Fatal error: Call to undefined function get_header() in PHPfile2.php on line 22

它给了我某种致命的错误。如果我使用get_header函数删除或注释掉代码,那么我会在下一个wordpress函数上遇到致命错误。

有人能指出我正确的方向吗?我是以错误的方式来做这件事的吗?我只需要能够进行2次API调用,第二次调用依赖于我从第一次调用中获得的内容。

谢谢!

1 个答案:

答案 0 :(得分:0)

这是因为您要离开wordpress框架并使用自己的自定义文件(这是非常不可取的)。

您需要require_once('wp-blog-header.php');。在PHPfile2.php