WordPress’e yazı göndermek için türlü masaüstü uygulamaları görmüşsünüzdür, örneğin Windows Live Writer. Bu sistemlerin hepsi WordPress’in XML-RPC protokolünü kullanırlar. Yani bu sistemle uzaktan yazı ekleme işlemi yapabilirsiniz. Peki bu protokolü php ile nasıl kullanırız?
İşte bu fonksiyonla, işleminizi gayet kolayca halledebiliyorsunuz:
function wpPostXMLRPC($title,$body,$rpcurl,$username,$password,$category,$keywords='',$encoding='UTF-8') {
$title = htmlentities($title,ENT_NOQUOTES,$encoding);
$keywords = htmlentities($keywords,ENT_NOQUOTES,$encoding);
$content = array(
'title'=>$title,
'description'=>$body,
'mt_allow_comments'=>0, // yorumlara izin verilecekse 1 yapın
'mt_allow_pings'=>0, // geri izlemelere izin verilecekse 1 yapın
'post_type'=>'post',
'mt_keywords'=>$keywords,
'categories'=>array($category)
);
$params = array(0,$username,$password,$content,true);
$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);
$results = curl_exec($ch);
curl_close($ch);
return $results;
}
$title = Yazının başlığı
$body = Yazı metni
$rpcurl = Sitenizin xmlrpc adresi (yani: http://www.siteadi.com/xmlrpc.php)
$username = Siteye giriş kullanıcı adı (admin)
$password = Siteye giriş şifreniz
$category = Yazının ekleneceği kategori yada kategoriler
$keywords = Yazının etiketleri
$encoding = Yazının charset ayarı
Yukarıdaki fonksiyonu herhangi bir php scriptle kullanabilirsiniz. Tabi kullanmadan önce, sunucunuzda xmlrpc bileşenlerinin kurulu olduğundan emin olun. Eğer kurulu değilse, xmlrpc_encode_request fonksiyonu hata verecektir.
XMLRPC bileşenleri kurulu olduğu halde yazı eklenmiyorsa:
wp-admin > ayarlar > yazma sayfasından, XML-RPC protokolü ile yazı yayınlamayı aktif hale getirmeniz gerekmektedir.
İşte bu da WordPress’in güzelliklerinden biri
usta ben free bi host kullanıyom. wl writer kullanıyom dediğin gibi wp-admin > ayarlar > yazma sayfasından, XML-RPC protokolü ile yazı yayınlamayı aktif hale getirmeniz gerekmektedir. bunuda yaptım. herşey iyi güzel normal yazı gönderiyorum ama bide yazıyı mesela mp3 ekliyom dediğin hatayı alıyorum ama mp3 v.b dosya eklemedğimde sorun olmuyor. bu neden olabilir…. uMARIm anlatabilmişimdir. teşekkürler
belki de ekleri encode edemiyordur
merhaba semih bey;
bu bileşeni xampp a nasıl kurarız??
saygılarımla
xampp yerine wamp kullanın
direk açabiliyorsunuz bileşeni…