Şu ana kadar birçok yazı türü içeren bir wordpress site de çalıştınız mı? WordPress araması rezalet bir şeydir. Bu nedenden dolayı birçok blogcu Google Özel Arama’yı kullanır. Biz, daha önce içinde araştırma makaleleri, videolar, kitaplar ve blog yazıları olan bir site üzerinde çalışıyorduk. Varsayılan wordpress aramasını kullanıyorken onu bırakamadık. Google aramasını kullanmak, geçerli bir seçenek değildi. Buna ek olarak, gelişmiş bir arama formu kullanmaya karar verdik. Bu form, kullanıcılarına sitenin hangi alanlarda sınırlı özel yazı türleri ile checkbox üzerinden bilgi toplamalarını sağlar. Kullanıcılar onların arama sorgularını birleştirebilir. Daha önemlisi arama sorguları ile bunları daha güvenilir bir hale getirdik. Bu, kullanıcısına tam olarak neyi aradığını gösterir ve kullanıcı parametreler üzerinde değişiklik yapabilir. Bu makalede, gelişmiş bir arama formunun nasıl oluşturulacağını göstereceğiz. Böylece WordPress ‘in gücünden yararlanıyoruz. Arama sorguları ve sınırlı arama sonuçlarından bahsediyoruz.
Öncelikle, “searchform.php” dosyasını veya arama formunun bulunduğu sayfanızı açın. Sonra form kodları içine aşağıdaki alanları ekle:






Value etiketini kendi özel yazı türlerinle değiştirmeyi unutma! Üstteki kod, temel olarak arama sonuçlarınızı sınırlar. Sonrası için ne yapacağımız hakkında güzel bir nedenimiz var. Ana arama butonunu kullanmak için tüm özel yazı türlerini eklediğinden emin olmalısın. Bu alanlar gizlidir, kullanıcılar göremez.
Sonra “search.php” dosyasını aç ve aşağıdaki kodları içerik döngüsüne ekle. Böylece kullanıcılar, yukarıdaki seçenekleri görebilsin.



Bu kodlar arama kutusu ve arama sonuçlarını üreten sorgu kutularını ekler. Bunlara ek olarak, hangi yazı türlerini sorgular içinde arandığını kontrol eder ve checkboxların uygunluğunu denetler. Gizli alanlarda tüm yazı türlerini nasıl eklediğimizi unutma! Bunu ekleyerek in_array fonksiyonunu çalıştırabildik ve checkboxların kontrol edilebilirliğini sağladık. Bunu başka nasıl yapabileceğimiz hakkında kaynak yoktu. Bu işi yapan bulduğumuz en iyi yol buydu.



Kaynak