Sudah tau WordPress XML-RPC? Ngoprek ini seru banget. Seru, kalo sudah tau tentunya. Benda ini sudah ada lama sejak versi 3.5. Kalo yang belum tau apa itu, adalah Remote Procedure Call semacam rutin fungsi yang dapat dipanggil oleh aplikasi lain melalui protokol HTTP. Dengan kata lain misalnya buat mobile app untuk mengakses data di web tersebut, atau juga memungkinkan buat web aplikasi lain untuk memposting data ke web tersebut. Ini akan sangat berguna kalau Anda mau menghubungkan/interkoneksi data di website dengan sistem lain di luar WordPress.
Karena ini WordPress, tentunya ini juga bisa di-extends. Memungkinkan untuk perubahan-perubahan yang kita inginkan.
WordPress XML-RPC ini sudah di-enabled secara default. Tinggal akses ke http://url-wordpress/xmlrpc.php. Itu alamat url APInya.
Untuk coba-coba menggunakan command line prompt bisa sebagai berikut. Perhatikan saya coba di sini dengan menggunakan server localhost.
Perhatian: Apabila kamu dapat respon error, misalnya 401 Unauthorized, kemungkinan proteksi dari server hosting kamu.
Pertama buat text file
$ vim sayHello.txt
Kedua tulis xml methodCall ini di file tersebut
<?xml version="1.0" encoding="iso-8859-1"?> <methodCall> <methodName>demo.sayHello</methodName> <params> <param></param> </params> </methodCall>
Ketiga jalankan perintah curl berikut dengan url API berikut
$ curl --data @sayHello.txt http://localhost/wordpress/xmlrpc.php
Keempat kamu akan mendapatkan respon sebagai berikut
<?xml version="1.0" encoding="UTF-8"?> <methodResponse> <params> <param> <value> <string>Hello!</string> </value> </param> </params> </methodResponse>
Ok, sekarang yuk coba dengan menggunakan PHP, seperti ini:
<?php $wpurl = 'http://localhost/wordpress/xmlrpc.php'; $request = '<?xml version="1.0" encoding="iso-8859-1"?> <methodCall> <methodName>demo.sayHello</methodName> <params> <param></param> </params> </methodCall>'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $wpurl); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml")); curl_setopt($ch, CURLOPT_POSTFIELDS, $request); $xml_response = curl_exec($ch); echo '<pre>'; print_r($xml_response);
Keren ga? Biasa aja sih… 😐 Masih banyak yang bisa di-explore dari RPC ini. Selamat mencoba.
2 Komentar. Leave new
Empty reply from server
tempatku error gitu bung
errornya apa ya? di local atau di hosting?