Bildiğimiz gibi WordPress’in özel alanları (custom field) gerçekten de çok faydalıdır. Ne kadar faydalı olduğuna ve nasıl kullanıldığına Her Yazım Resimli Olsun Diyorsanız! başlıklı yazımda değinmiştim. Bu konuyu biraz daha devam ettirmek gerekirse özel alan kullanımının yaygınlaşması sonucu buralardaki verileri arama ihtiyacı doğdu.
Bu ihtiyacı temel anlamda gideren eklenti burada tanıtılan Search Custom Field eklentisi. Fakat bu eklentinin çok büyük bir eksisi var ki o da sadece tek bir özel alanı arayabilmesi. Örneğin arabalarla ilgili bir yazınız var ve aynı anda hem marka hem de model isimli iki özel alanınız var. Bu eklenti ile ikisini birden arayamıyorsunuz. Fakat bunun dışındaki tek alan aramak için gayet kullanışlı bir eklenti.
Gelelim daha geniş kapsamlı birden fazla alanın aranmasına. İşte burada artık ileri seviye programlama işin içine giriyor desem yanılmam sanırım. WordPress.org forumlarında bu konu çok tartışılmış çünkü yapılması öyle kolay bir olay değil. Herhangi bir WordPress fonksiyonu bu konuda işinize yaramadığı için kendi veritabanı sorgunuzu yapmanız lazım. Araştırmalarım ve tecrübelerim sonucunda şu SQL cümlersinin sorunsuz bir şekilde çalıştığını gördüm.
<?php $querystr = " SELECT wposts.* FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta, $wpdb->postmeta wpostmeta2 WHERE wposts.ID = wpostmeta.post_id AND wposts.ID = wpostmeta2.post_id AND wpostmeta.meta_key = 'candy' AND wpostmeta.meta_value = '$candy' AND wpostmeta2.meta_key = 'mood' AND wpostmeta2.meta_value = '$mood' AND wposts.post_status = 'publish' AND wposts.post_type = 'post' ORDER BY wposts.post_date DESC "; ?>
Kaynak: http://wordpress.org/support/topic/158228
Sonuç olarak bu konunun ileri seviye programlama bilgisi gerektirdiğini itiraf etmeliyim. Umarım ihtiyacı olanlar bir şekilde programlama bilgisi iyi olan arkadaşlarından (ben değil:) ) destek alarak sorunlarını çözebilirler. Şimdiden kolay gelsin…
Genç yaşlarda programlama ile tanıştı ve Delphi ile başladığı programlama macerasına şuanda PHP, SQL, Javascript, AJAX, CSS, XHTML teknolojileri ile devam etmektedir. Elektrik - Elektronik bölümü mezunu olan "yakuter" 2006 yılından itibaren yakuter.com'un yazarlığını yapmaya başlamıştır.
Emre
24 Şubat 2009
Özel alanları (custom field) şöyle a’dan z’ye incelersen vede ayrı bir yazı olarak yayınlarsan çok seviniriz.
yakuter
24 Şubat 2009
Aslında bu konuya girmek istiyorum fakat elde mevcut pek bir şey yok yani özel alanların kullanımına yönelik fazla Wordpres fonksiyonu bulunmuyor. Eğer kendiniz kod yazarsanız gayet etkili olabiliyorlar. Bunu da nasıl yapacağımı daha doğrusu nasıl anlatacağımı bilemiyorum. Hep makale yazarken orta seviye kullanıcılara göre yazarım. İleri seviye yazarsam onlarca soru geleceğinden eminim. Bu biraz beni korkutuyor…
Yazılan yazılardan ilk siz haberdar olun, yeni yazılar e-postanıza gönderilsin.
menchek
02 Eylül 2010
yakuter.com © 2006-2010 Erhan Yakut. Site tasarım Cenk Akyıldız - (Tema Bilgisi). Hosting sponsoru WebGrup.
Site içerisindeki içerikler izinsiz kopyalanamaz, alıntı yapılamaz.