if.else.web

bir başka internet

PHP ve XML-RPC Kullanarak WordPress’e Yazı Göndermek

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 :)

Bu yazı tarafından, 21.02.2010, Pazar günü WordPress kategorisi altında yayınlanmıştır.
Bu yazının son güncelleme tarihi: 21.12.2011, Çarşamba
Bu yazıya yapılacak yorumlardan haberdar olmak için RSS 2.0 beslemesini kullanabilirsiniz. Yorum yapabilirsiniz, veya kendi sitenizden geri izleme yapabilirsiniz.
Site genelinde tüm yazılar yeni yorumlara kapalıdır.