使用required_once(“wp-load.php”)后返回json时出错

时间:2017-06-01 05:06:15

标签: php json wordpress api

我尝试使用WP开发一个api。

贝娄是我的测试代码。

    define( 'WP_USE_THEMES', false );
    require_once(dirname(__FILE__).'/wp-load.php');
    header('Content-Type: application/json');
    wp();
    $PiBy180 = 0;
    $arr[0] = array("id"=>1,"name"=>"aaaa");
    $arr[1] = array("id"=>2,"name"=>"bbbb");
    echo json_encode($arr);die;

当我用邮递员测试时,它显示波纹管输出。 wrong-output

但如果我评论require_once而不是我检查它对我有效。但我需要它,因为我必须在我重新调用ajax json响应之前调用一些wordpress函数。请查看下面的截图和代码。

    define( 'WP_USE_THEMES', false );
    //require_once(dirname(__FILE__).'/wp-load.php');
    header('Content-Type: application/json');
    //wp();
    $PiBy180 = 0;
    $arr[0] = array("id"=>1,"name"=>"aaaa");
    $arr[1] = array("id"=>2,"name"=>"bbbb");
    echo json_encode($arr);die;

Required-output

有没有办法在不使用require函数的情况下加载wp函数。我在项目的根文件夹中添加了自定义文件。

请建议您的解决方案。

1 个答案:

答案 0 :(得分:0)

最后我得到了解决方案。

我发现wp-load.php文件包含许多其他文件,并且文件中有 echo 所以只是因为它返回了不需要的输出。所以最后我做了核心php连接并从数据库访问数据,它对我有用。

这是我的代码。

ini_set("display_errors", 0);

    $host='localhost';
    $user='testuser';
    $password='testpass';
    $db='testdb';
    $con = mysql_connect($host,$user,$password) or exit("Connection Error");
    $connection = mysql_select_db($db, $con);
    $query = "SELECT * FROM orders where customer_mail like '%".$_GET['jobs']."%'  ORDER BY id DESC;";
    $orderList = mysql_query ($query) or exit("The query could not be performed");

可能对某人有所帮助。