Kazım Ölmez

Web Tasarım Uzmanı

XML-RPC WordPress API Kullanımı

Selâmün Aleyküm. Bu yazının konusu “XML-RPC WordPress API Kullanımı“.

XML-RPC WordPress API Kullanımı

Arkadaşlar wordpress’in sunmuş olduğu XML-RPC API sayesinde bazı pratik işleri kolaylıkla yapabiliyoruz. Nedir bu pratik işler örnek verecek olursak:

  • Birden çok wordpress sitenize gelen yorumları tek yerden kontrol edebilirsiniz.
  • Birden çok sitenizin yazarlarını ve yazılarını takip edip yönetebilirsiniz.
  • Hatta şöyle desek de yalan söylemiş olmayız; Birden çok wordpress sitelerinizi tek yerden yönetebilirsiniz.

Biz bu yazıda wordpress kurulu sitemize gelen yeni yorumları listelemeyi göreceğiz. Farklı programlama dilleri için hazırlanmış sınıflar mevcut ama biz bu işlemi php ile yapacağımız için WordPress XML-RPC PHP Client sınıfını kullanacağız.

Sınıfı verdiğim adres den indirip sayfamıza çağıralım.

require ('src/WordpressClient.php');
require ('src/Exception/NetworkException.php');
require ('src/Exception/XmlrpcException.php');

Şimdi de gerekli ayarlamaları yapalım.

#Wordpress site adresimiz ve xmlrpc.php dosya yolumuz ile birlikte.
$site1url = "http://site.com/xmlrpc.php";

#Sınıfı oluşturalım
$site1 = new HieuLe\WordpressXmlrpcClient\WordpressClient();

#İşlemler için zorunlu ayarları yapalım. Burda ki email ve şifreniz wordpress.com üyelik bilgileriniz olmalı..
$site1->setCredentials($site1url, 'bilgi@site.com', '123456');

Evet. Artık işlem yapmaya başlayabiliriz. İlk olarak onay bekleyen yorumları gösterelim.

#Yorum durumu olan status ifadesini kullandık ve hold ile sadece onay bekleyen yorumları getirmesini söyledik.
#approve = Onaylı Yorumlar
#spam = İstenmeyen Yorumlar
$yorumlar = $site1->getComments(array('status' => array('hold')));

#Yorumları ekrana yazdırıyoruz
if (count($yorumlar) > 0) {
	foreach ($yorumlar as $yorum) {
		echo $yorum['author']." tarafından yapılan yorum: ".$yorum['content']."<br>";
	}
} else { echo "Onay bekleyen yorum bulunamadı."; }

Gördüğünüz gibi bundan daha kolayı olamazdı heralde.
Şimdi bir de şöyle birşey yapalım; Onay bekleyen yorumları otomatik olarak onaylasın.

#Yorum durumu olan status ifadesini kullandık ve hold ile sadece onay bekleyen yorumları getirmesini söyledik.
#approve = Onaylı Yorumlar
#spam = İstenmeyen Yorumlar
$yorumlar = $site1->getComments(array('status' => array('hold')));

#Yorumları ekrana yazdırıyoruz
if (count($yorumlar) > 0) {
	foreach ($yorumlar as $yorum) {
		echo $yorum['author']." tarafından yapılan yorum: ".$yorum['content']."<br>";

		#Yorumun durumunu approve olarak ayarlıyoruz. Yani onaylıyoruz.
		$onayla = $site1->editComment($yorum['comment_id'], array('status' => 'approve'));
		if ($onayla) { echo "Yorum onaylandı."; }
		else { echo "Kritik bir hata oluştu."; }

		echo "<hr>";
	}
} else { echo "Onay bekleyen yorum bulunamadı."; }

Şimdilik bizim yapacaklarımız bu kadar. Eğer yazılar, temalar, eklentiler, üyeler gibi alanlarda da listeleme, düzenleme vs. işlemler yapmak istiyorsanız WordPress Codex bağlantısından detaylı inceleme yapabilirsiniz.

WordPress Codex sayfasında listelenen bazı özellikler:

Yazılar: Posts (for posts, pages, and custom post types) – Added in WordPress 3.4
  • wp.getPost
  • wp.getPosts
  • wp.newPost
  • wp.editPost
  • wp.deletePost
  • wp.getPostType
  • wp.getPostTypes
  • wp.getPostFormats
  • wp.getPostStatusList
Kategoriler, Etiketler: Taxonomies (for categories, tags, and custom taxonomies) – Added in WordPress 3.4
  • wp.getTaxonomy
  • wp.getTaxonomies
  • wp.getTerm
  • wp.getTerms
  • wp.newTerm
  • wp.editTerm
  • wp.deleteTerm
Ortam: Media – Added in WordPress 3.1
  • wp.getMediaItem
  • wp.getMediaLibrary
  • wp.uploadFile
Yorumlar: Comments – Added in WordPress 2.7
  • wp.getCommentCount
  • wp.getComment
  • wp.getComments
  • wp.newComment
  • wp.editComment
  • wp.deleteComment
  • wp.getCommentStatusList
Ayarlar: Options – Added in WordPress 2.6
  • wp.getOptions
  • wp.setOptions
Kullanıcılar: Users
  • wp.getUsersBlogs
  • wp.getUser (3.5)
  • wp.getUsers (3.5)
  • wp.getProfile (3.5)
  • wp.editProfile (3.5)
  • wp.getAuthors
Kategoriler: Categories – use Taxonomies instead, with taxonomy='category'
  • wp.getCategories
  • wp.suggestCategories
  • wp.newCategory
  • wp.deleteCategory
Etiketler: Tags – use Taxonomies instead, with taxonomy='post_tag'
  • wp.getTags

 

Yorumlar: Pages – use Posts instead, with post_type='page'
  • wp.getPage
  • wp.getPages
  • wp.getPageList
  • wp.newPage
  • wp.editPage
  • wp.deletePage
  • wp.getPageStatusList
  • wp.getPageTemplates

 

Hepinize kolay gelsin.

Selâmetle.

Yorum Yap

%d blogcu bunu beğendi: