получение запроса HTTP Post из JobAdder - PullRequest
0 голосов
/ 19 марта 2019

Мне было поручено связать задания в Jobadder с WP-сайтом моего клиента.

Jobadder не может использовать SFTP, который был моим предпочтительным вариантом, поэтому план b заключается в отправке HTTP-данных XML на веб-сайт.

Они попросили 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);
}

Итак, когда я иду на http://xxx.staging.wpengine.com/wp-json/xmlfeed/v1/jobs в Почтальоне и добавляю некоторые XML-данные в тело, которое он отображает обратно.

Однако, похоже, не запускается код для записи вXML-файл.

Я никогда не делал этого раньше и не нашел в интернете ничего, что могло бы помочь, поэтому надеюсь, что кто-нибудь укажет мне правильное направление.

1 Ответ

0 голосов
/ 19 марта 2019

сработало - нужен полный путь к файлу XML, в данном случае - "wp-content / uploads / job-feed / jobs.xml"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...