Bir önceki “WordPress Öğreniyorum” yazımda da bahsettiğim üzere wordpress tablolarına ve onların içeriklerine SQL çağrılarıyla ulaşmak mümkün. Fakat direkt tablo isimlerini kullanmak riskli, çünkü wordpress sürekli güncellenen bir yapıya sahip ve tabloların şekilleri de değişime açık.

Bu değişim faktörü yüzünden WordPress altyapısında eklenti geliştiricilerini korumak için buna bir çözüm bulmuş. Daha önce bağlantı kurmak için kullandığımız $wpdb objesi aslında bir arayüz olarak görev yapıyor ve tabloları bizim için erişilebilir yapıyor.

//Kullanıcı tablosuna erişim sağlıyoruz.
//Olası bir isim veya yapı değişikliğine karşı bizi wpdb koruyor
$user_count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->users" );

Daha önce bahsettiğimiz meta değerlere ulaşmak da mümkün. Fakat özel bir sorgu yapmayacaksak post meta’ları fonksiyonla sorgulamak daha doğru olacaktır.

//Millerin toplamı
$meta_key = 'miles';
$allmiles = $wpdb->get_var( $wpdb->prepare(
	"
		SELECT sum(meta_value)
		FROM $wpdb->postmeta
		WHERE meta_key = %s
	",
	$meta_key
) );

//10 numaralı link'in bilgileri
$mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_A);

//5 numaralı yazarın taslak yazıları
$fivesdrafts = $wpdb->get_results(
	"
	SELECT ID, post_title
	FROM $wpdb->posts
	WHERE post_status = 'draft'
		AND post_author = 5
	"
);

Bu örnekleri uzatmak mümkün, fakat WordPress veritabanını en iyi görerek anlayabiliriz. Benim tavsiyem, WP veritabanınızı açın ve inceleyin. Bunu yaptıktan sonra codex’teki açıklamalar daha da kolay gelecektir.

Barış Altop
Barış Altop
Matematik tutkusunu yazılım sanatına dönüştürmeyi hedef seçmiş, bilgisayar mühendisliği doktora öğrencisi. Biraz Apple tutkunu, ama teknoloji düşkünü yazılımcı.