Php- WordPress Xml-Rpc Nasıl Kullanılır ?
5 (100%) 6 votes

Php – WordPress Xmlrpc Nasıl Kullanılır ?

Merhabalar Bugünkü Konumuz Php WordPress Xmlrpc Kullanımı Hakkında.
Bundan 5 Ay Öncesinde Geliştireceğim Proje İçin Araştırma Yaparken Çok Zorlanmıştım.Çünkü Türkçe Olarak Yazılmış Çok Az Makale Mevcut Ve Yazan Arkadaşların Çoğu Ne Olduğundan Habersiz.Bugün Burada Herşeyiyle Değineceğim.

WordPress Xmlrpc Nedir ?

Bu Başlığı Ayrı Bir Yazı Olarak Paylaşacağım Kabataslak Bir Değineyim.Wordpress’in Sunduğu Bir Api Entegrasyonudur.
Php,C#,Ajax Gibi Diller İle Sitenize Yazı Gönderebilir Site Hakkında Bilgi Toplayabilirsiniz.

WordPress Xmlrpc Nasıl Kullanılır ?

Hemen Başlayalım,Öncelikle İç İçe Arraylardan Meydana Gelen Bir Array Oluşturuyoruz Ve Curl Post Methodu İle Siteye Gönderiyoruz.
Basit Başlıycam Sonrasında Karmaşıklık Yapmadan Devam Edicem Bir Çay İçin Rahatlayın Ve Yavaşca Takip Edin.
Xmlrpc Kütüphanesini Platformumuza Ekleyelim.(Dosyayı Buradan İndirebilirsiniz.)

include_once('IXR_Library.php');

Bir Değişkene Sitemizi Girelim

 $linkl5=$_SESSION["linksite"]."/xmlrpc.php";

Sonuna xmlrpc.php Koyalım.

Önemli Not:İstem Yollacağınız Sitenin Xmlrpc’si Açık Olmalıdır.

Konumuzun Öne Çıkarılmış Görselini Seçelim


$myFile = "Resim Yolu";
$fh = fopen($myFile, 'r');
$fs = filesize($myFile);
$theData = fread($fh, $fs);
fclose($fh);
$client = new IXR_Client($linkl5); //Site Adresi
$username = $_SESSION["kullanici"]; //Wordpress Kullanıcı Adı
$password = $_SESSION["sifre"]; //Wordpress Şifre

$client->debug = false;
 $params = array('name' => $sutun["resim"] , 'type' => 'image/jpg', 'bits' => new IXR_Base64($theData), 'overwrite' => true);
 $res = $client->query('wp.uploadFile',1, $username, $password, $params);
 $clientResponse = $client->getResponse();
$thumbnail_image = $clientResponse['url'];
$thumbnail_id = $clientResponse['id'];

Şimdi Yaptığımız İşlem Resimi İndirdir Base64’e Çevirdik Hedef Wp Sitemizin Kütüphanesine Yükledik Ve Resimin id’sini Aldık.
Diğer Yapacağımız İşlem Konuyu Detaylarıyla Array’a Girmek.

//Buradaki params Değişkenini Curl İle Yolluycaz Unutmayın
$params = xmlrpc_encode_request(
 'wp.newPost',
 array(
 0,
 $_SESSION["kullanici"],  //Wordpress Sitesinin Kullanıcı Adı
 $_SESSION["sifre"],      // Ve Şifresi

 array(
 'post_title' => $baslik, //Yazı Başlığı
 'post_content' => $konuyazisi, //Konunun İçeriği
 'post_status' => 'publish', //Yazının Statüsü,Yazıyı Taslak Olarak Kaydetmek İçin drafts yazınız
 'post_thumbnail' => $thumbnail_id, //Resim İd'miz Yukarıdaki Resim Ekleme İşlemi Sonrasında Bize Verildi
 'terms_names' => array(
 'post_tag' => array( 
 'Tag 1',
 'Tag 2',
 'Tag 3'
 ),  //Etiketler
 'category' => $kategori     //Kategori İd'si Bunu Öğrenmek İçin Buraya Yazı Koyacağım
 )
 )

 ),array('encoding'=>'UTF-8','escaping'=>'markup')  //Charseti
 );

Buraya Kadar Bir Sorun Yok İse Son İşlemimize Geliyorum.

 


$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $sitelinki.'/xmlrpc.php'); //Site Linki Sonuna xmlrpc.php koyuyoruz.
 curl_setopt($ch, CURLOPT_POST, TRUE);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $params); //Buraya Yukarıdaki Array Listesinin Değişkenini Aktarıyoruz.
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
 curl_setopt($ch, CURLOPT_TIMEOUT, 1);

$veri= curl_exec($ch); //Veri Değişkenine Aktarıyoruz.
 curl_close($ch);
if($veri==null||$veri==""||strlen($veri)<=180) //Ben Biraz Basitine Kaçtım Ama %100 Sonuç Vermekte Verinin İçerisini Bu Şekilde Kontrol Ediyoruz.Bu İf'e Eğer Girerse Yazı Başarıyla Eklenmiş Demektir.
 {
 {


Açıklama Satırları Yeterli Olmadı İse Bizimle İletişime Geçerek Bilgi Sağlıyabilirsiniz.
Xmlrpc Hakkında Diğer Konularımız WordPress Sitesinin Bilgilerini Çekme(Örn:Blog Adı Kategorileri v.b) Ve Xmlrpc’nin Önemi Hakkında Duygusal Bir Konuşma Yapma Olacaktır.Okuduğunuz İçin Teşşekürler.
İletişim İçin ahmt2ozts@gmail.com   Buraya Bırakıyorum.

Comments

  1. Gerçekten Çok Güzel Bir Anlatım.Projem ile ilgili bir kaç soru attım mail olarak bakarsanız sevinirim

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir