我的任务是将Jobadder上的工作链接到我的客户WP网站。
Jobadder不能使用SFTP,这是我的首选选项,因此计划b是将HTTP数据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文件的代码。
我之前从未这样做过,也没有在网上找到任何帮助,所以希望有人能指出我正确的方向。
解决了 - 需要XML文件的完整路径,在这种情况下 - “wp-content / uploads / job-feed / jobs.xml”