Я тестирую wp-api, я очень рад использовать это, кстати. Вот что я сделал.
мой JSON
{ "title":"Hello Updated World!", "content_raw":"Howdy updated content.", "date":"2013-04-01T14:00:00+10:00" }
прямо из примеров в документах wp-api
ошибка, которую я продолжаю получать, – это
[ { "code": "json_missing_callback_param", "message": "Missing parameter data" } ]
Глядя на исходный код на github, он выглядит как необходимый параметр отсутствует
в соответствии с заголовком документации и содержимым сырья, по-видимому, являются единственными обязательными полями. Мне было бы интересно узнать, чего мне не хватает, если у вас есть какие-либо предложения. Благодарю.
Вы также можете попробовать этот плагин для использования веб-сервисов WordPress, и, используя его, вы также можете создать свой собственный веб-сервис:
https://wordpress.org/plugins/json-api/
Вот код, который я использую для вызова локального WP-API с PHP / cURL:
$endpoint = 'http://localhost/my-site/wp-json/wp/posts'; $username = 'test-user'; $password = 'test-pass'; $data = array( 'title' => $post_title, 'content_raw' => $post_content, 'status' => 'publish', ); $json_data = json_encode($data); $ch = curl_init($endpoint); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($json_data), )); $result = json_decode(curl_exec($ch));
Чтобы обновить этот пост, я бы изменил свои данные на:
$data = array( 'ID' => $post_id, 'title' => $new_title, 'content_raw' => $new_content, );
При обновлении идентификатор является обязательным.