Saya sedang membangun integrasi mailchimp dan mereka membutuhkan panggilan POST dengan kode JSON.
Tidak, saya menggunakan kode ini yang benar-benar berfungsi :
$data = wp_remote_post($url, array(
'headers' => array('Content-Type' => 'application/json; charset=utf-8'),
'body' => json_encode($array_with_parameters),
'method' => 'POST'
));
Tapi, itu mengembalikan peringatan PHP
Peringatan: http_build_query (): Parameter 1 diharapkan menjadi Array atau Object. Nilai salah diberikan dalam ../wp-includes/Requests/Transport/cURL.php on line 507
Bagaimana cara menghindarinya?
Saya sudah mencoba menggunakan array biasa dalam indeks 'tubuh' tetapi MailChimp mengembalikan kesalahan penguraian JSON.
json
http-api
plugin-mailchimp
wp-remote-post
a-coder
sumber
sumber
Jawaban:
Coba atur
data_format
parameter dalam permintaan Anda seperti:Sepertinya formatnya mungkin default
query
, dalam hal ini WordPress mencoba memformat data menggunakanhttp_build_query
, yang memberi Anda masalah karena Anda sudah memformat tubuh sebagai string. Inilah check-in yang relevanwp-includes/class-http.php
:Karena kesalahan Anda berasal dari baris 507 dari
wp-includes/Requests/Transport/cURL.php
, kita dapat melihat bahwa ini adalah panggilan root kehttp_build_query
:sumber