从JobAdder检索HTTP Post请求

时间:2019-03-19 01:50:20

标签: php wordpress http-post

我的任务是将Jobadder上的作业链接到我的客户WP网站。

Jobadder无法使用SFTP,这是我的首选,因此计划b是将XML数据HTTP POST到网站。

他们要求输入URL,所以我做了一些研究,发现WP具有内置功能。<​​/ p>

这是主题中的functions.php文件中的代码

add_action( 'rest_api_init', function () {
 register_rest_route( 'xmlfeed/v1', '/jobs', array(
 'methods'  => 'POST',
 'callback' => 'get_jobs',
 ) );
} );

function get_jobs() {
 header('Content-type: text/xml');
 if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
    $data = file_get_contents("php://input");
    $xmlfile = "jobs.xml";
    $FileHandle = fopen($xmlfile, "w") or die("can't open file");
    fwrite( $FileHandle, str_replace("xml=", "", urldecode($data)) );
    fclose($FileHandle);
}

因此,当我在Postman中访问http://xxx.staging.wpengine.com/wp-json/xmlfeed/v1/jobs并将一些XML数据添加到正文中时,它会显示回来。

但是,似乎没有触发代码来写入XML文件。

我以前从未做过此事,也没有在网络上找到任何可以帮助的东西,所以希望有人可以向我指出正确的方向。

1 个答案:

答案 0 :(得分:0)

解决了这个问题-需要XML文件的完整路径,在这种情况下-“ wp-content / uploads / job-feed / jobs.xml”