WordPress veri altyapısında 4 temel içerik çeşidi vardır:
- Yazılanlar (-Post)
- Kullanıcılar (-Users)
- Yorumlar (-Comments)
- Bağlantılar (-Links)
Bu 4 içerikten ilk üçünü Metadata(Üst Veri) kendisi geçmiş olabilir, ve bu içeriklerden her biri veritabanında bulunan kendi “Metadata” veritablosunda depolanır.
Peki biz Üstveri’den söz ediyoruz ama önce Üst Veri’yi tanıyalım. Metadata yani Üstveri, verinin hakkında veri yani veriyi tanımlamak, veri hakkında bilgi olarak tanımlayabiliriz.
Metadata’nın(ÜstVeri) Çalışması
Metadata’nın bu tanımıyla, WordPress tanımlayıcı Üstveri’yi kullanır. Fakat çalışma mantığını ne veri olarak tanımlıyabiliriz ne de üst veri olarak tanımlıyabiliriz ve Üstveri tablolarında saklananlar doğrudan bilgilere eşit değildir. Şöyle ki :
- Yazılanlar (-Post) için, post_type Üstveri örneğidir, ancak depolanırken Wp_posts tablosunda depolanır.
- Taksonomi terimleri, kategoriler ve etiketler de “üstveri” olarak tanımlanabilir, ancak kendi veritabanı tablolarından ayrı olarak saklanır.
- Yukarıda bahsettiğimiz “Post” üstverileri, bazı özel alanlar ve eklentiler yoluyla eklenmiş ek üstveriler “wp_postmeta” tablosunda depolanır.
Üstveri Tabloları
WordPress üstveri için üç veritabanı tablosu kullanır:
- wp_postmeta yazılarla alakalı üstverileri depolar.(navigasyon menüsü ve bazı eklerde dahil)
- wp_commentmeta yorumlarla alakalı üstverileri depolar.
- wp_usermeta kullanıcılarla alakalı üstverileri depolar.
Üstveri tablolarında dört adet alan birbiriyle aynı gibidir:
- Yazının kimliği(ID) ve kimlik, kullanıcı veya yorum üstveriyle ilgilidir
- Meta kimliği(ID) metadata(üstveri)nin kimliğini(yani ID’si) ifade eder.
- Değer ve meta değeri
- Anahtar ve meta anahtarı
WordPress, çok sayıda üst veriyi bu yapıyı kullanarak saklayabilir. Yani, işlevleri görüntülemek ve yazılanları(posts) sorgulamak için üst veriyi kullanabilirsiniz.
Üstveriler WordPress Tarafından Saklanır
Bir WordPress kurulumunda depolanan üstveri, başka bir kuruluma kadar değişecektir çünkü eklentiler ve temalar üst veriler ekleyebilir.Üst verinin bazı yaygın türlerine göz atalım:
- Özel alanlar.Bu posts(Yazılanlar) için de geçerlidir bu yüzden wp_postmeta tablosunda saklanır.
- Kullanıcı Üstveri. Bu üst veriler çoğu kullanıcı hakkında bilgi depolar, wp_usermeta tablosunda depolanır. Bunlar, roller, yetkiler, pano ayarları ve isim gibi üstverilerdir.
- Eklenti ve Tema tarafından eklenen Üstveri. Örnekle açıklayacak olursak, Akismet gibi yorum işlevselliği olan eklentiler, wp_commentmeta tablosuna eklenir. Yani buradaki kategorilendirme işlevine bağlı, eklenti yazılanlara(posts) üstveri eklemek için izin istediği zaman tıpkı SEO eklentileri gibi, kaydedilirken wp_postmeta tablosuna kaydedilir. Temanız da üst veri ekleyebilir fakat işleyiş açısından eklentilerin bunu sık sık yapması daha makul gözüküyor.
Elbette liste bunlarla sınırlı değildir. Aslında yazılan(post), yorum yada kullanıcı hakkında herhangi bir veri, kendi ana veritabanı tablolarında saklanmaz, alakalı olduğu üst veri tablolarında saklanır.
Veri depolamak için yeni bir alan ekliyorsanız, her zaman bu tabloları kullanmalısınız.
Üstveriler’e Erişme ve Çıkarma
WordPress, üstveri değiştirebilmemiz, almamız, eklememiz ve silmemiz için kullanan Metadata(üstveri) API’i vardır. Üstverinin her türüne bir dizi de belirli fonksiyon vardır.
Her içerik türü için Üstveri API benzer ve aynı parametrelere sahiptir:
Üstveri Eklerken
Üstveri Getirirken
Üstveri Güncellerken
Üstveri Silerken
Yazılanlar
add_
post_
meta()
get_
post_
meta()
update_
post_
meta()
delete_
post_
meta()
Kullanıcılar
add_
user_
meta()
get_
user_
meta()
update_
user_
meta()
delete_
user_
meta()
Yorumlar
add_
comment_
meta()
get_
comment_
meta()
update_
comment_
meta()
delete_
comment_
meta()
Parametreler
$post_id,
$meta_key,
$meta_value,
$unique
$post_id,
$meta_key,
$single
$post_id,
$meta_key,
$meta_value,
$prev_value
$post_id,
$meta_key,
$meta_value
Yorum Ekle