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.