Erhan Yakut Software Developer @Binalyze | Founder @Passwall | Golang Enthusiast | Open Sorcerer

WordPress Özel Alanlarında Arama

49 sec read

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]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
“;
?>[/php]
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…

Erhan Yakut Software Developer @Binalyze | Founder @Passwall | Golang Enthusiast | Open Sorcerer

10 Replies to “WordPress Özel Alanlarında Arama”

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

    1. 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…

  2. Merhaba ben bu soruna yabancı film sitede cozum buldum Ama kodların derlenmesi lazım bayağı bi fazla kod içeriyor http://forrst.com/posts/Search_within_Custom_Fiel…

    bu sayfadaki kodları fonksiyon dosyasına eklemeli ve
    $customs = Array('bio', 'byline', 'kicker', 'deck');

    satırındaki bio, byline, kicker, deck yazan yerleri kendi özel alan adlarınızla değiştirmelisiniz.

  3. Hocam anlatımınız için çok teşekkürler, karıştırmadığım yerli yabancı kaynak kalmadı en sonunda burada buldum. Sayenizde artık özel alanlardaki bilgiler de arama sonuçlarında çıkıyor. Sonsuz teşekkürer

  4. Hocam anlatım için teşekkürler, bloglarımdan birinde çok faydasını gördüm. Fakat farklı bir sorunum var ki karıştırmadığım makale kalmadı yerli yabancı ama bulamadım. Şimdi veritabanına bir tablo ekledim ve bu bilgileri yazıların içerisinde gösteriyorum. Ama arama sonuçlarında bu bilgiler çıkmıyor. Yani manuel olarak eklediğimiz veritabanından bilgileri alıp wordpress arama sonuçlarında nasıl çıkarabiliriz ?

Leave a Reply

Your email address will not be published. Required fields are marked *