Introdução
Precisva gerar posts no meu blog a partir de um gerenciar externo NÃO o do próprio wordpress.
Pré-Requisitos
- Módulo php5-curl
- Módulo instalado noservidor onde está rodando oaplicativo
Para instalar isso no linux com o apt é muito fácil
sudo apt-get install php5-curl
sudo apt-get install php5-xmlrpc
Reinicie o apache e os módulos já estão habilitados
O seu blog deve estar configurado para receber conexões va nas confiurações do wordpress na opção escrita e habiite o XML-RPC
O PHP que cria o Post
function wpPostXMLRPC($title,$body,$rpcurl,$username,$password,$categories=array(18)) { $categories = implode(",", $categories); $XML = "$title". "$categories". $body; $params = array('','',$username,$password,$XML,1); $request = xmlrpc_encode_request('blogger.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); curl_exec($ch); curl_close($ch); } |
Ao executar esta função se tudo der certo será criado um post no seu blog!
Uma dica a variável $rpcurl deve ser o endereço do seu blog/xmlrpc.php caso o blog esteja no diretório raiz! se não estiver coloque o endereo correto OK
Caso aparecer a mensagem:
Call to undefined function xmlrpc_encode_request()
Call to undefined function curl()
significa que você não instalou as 2 extensões necessárias que eu falei antes!
Referência
http://www.nickycakes.com/post-to-wordpress-remotely-with-xmlrpc-in-php/