:::: MENU ::::

WordPress remote posting

Pentru cei care nu stiau, WordPress-ul ofera posibilitatea crearii unui noi articol si de la distanta (adica dintr-un fisier .php pus in alta parte). Lucrul asta e util pentru integrarea optiunii de a posta pe un blog dintr-o aplicatie thrid-party (cms-ul unui site de prezentare, ERP, mobile site-uri etc.)

Protocolul de comunicare intre fisierul .php si wordpress este numit XML-RPC (de fapt e o structura XML trimisa encodat si decodata de catre worpress).

[code lang=”php”]
<?php
function postviaxmlrpc($title,$body,$category,$tags){
$rpcurl = "http://www.blog.ro/xmlrpc.php";
$username = "username admin";
$password = "parola admin";
$XML = array(
"title" => $title,
"description" => $body,
"categories" => array($category),
"mt_keywords" => $tags
);

$params = array(”,$username,$password,$XML,1);
$request = xmlrpc_encode_request(‘metaWeblog.newPost’,$params);

$ch = curl_init();
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_URL, $rpcurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
return curl_exec($ch);
curl_close($ch);

}

// se apeleaza
postviaxmlrpc($title,$body,$category,$tags);
// variabila $category este de tip text (numele categoriei)
// tagurile sunt despartite prin virgula iar daca nu exista se creeaza
// functia returneaza ID-ul postului
?>
[/code]

Pentru a functiona este nevoie sa serverul sa aiba activata libraria cURL si extensia php_xmlrpc.

Happy coding


So, what do you think ?