我的任务是将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文件。
我以前从未做过此事,也没有在网络上找到任何可以帮助的东西,所以希望有人可以向我指出正确的方向。
答案 0 :(得分:0)
解决了这个问题-需要XML文件的完整路径,在这种情况下-“ wp-content / uploads / job-feed / jobs.xml”