WordPress Özel Alanlarında Arama

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.

Çözümler

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…

Benzer Yazılar

yakuter

Erhan Yakut

www.yakuter.com

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.

Bu Yazıya Ait Yorumlar

Hakan

Hakan
15 Şubat 2009

Güzel bilgi ;)

Kemal Gürler

Kemal Gürler
15 Şubat 2009

Faydalı bir yazı teşekkürler :)

Emre

Emre
24 Şubat 2009

Özel alanları (custom field) şöyle a’dan z’ye incelersen vede ayrı bir yazı olarak yayınlarsan çok seviniriz.

yakuter

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…

Teknoloji

Teknoloji
15 Haziran 2009

Çok şey öğreniyorum çok.
Allah Razı Olsun

MyBB

MyBB
04 Ağustos 2010

Öğrenicek çok şeyimiz varmış daha,teşekkürler.

Peki ya sizin düşünceleriniz?

Facebook Grubumuz Twitter Wordpress Linked in Google Friendfeed RSS Beslemesi Feedburner RSS

Abonelik

Yazılan yazılardan ilk siz haberdar olun, yeni yazılar e-postanıza gönderilsin.

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.

WordPressValid XHTML 1.0 TransitionalBu web sitesi ne kadar popüler?php