【发布时间】:2019-03-19 01:50:20
【问题描述】:
我的任务是将 Jobadder 上的工作链接到我的客户 WP 网站。
Jobadder 无法使用我首选的 SFTP,因此计划 b 是将 XML 数据 HTTP POST 到网站。
他们要求提供一个 URL,所以我做了一些研究,发现 WP 有内置功能。
这是我在主题的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 文件的代码。
我以前从来没有这样做过,也没有在网上找到任何可以帮助的东西,所以希望有人能指出我正确的方向。
【问题讨论】: