Merhaba arkadaşlar,
Bu konu ile ilgili açılmış çok fazla başlık gördüm. WordPress aramalarında sadece yazdıklarım aransın, sayfalarım aranmasın şeklinde istekler var. Bu isteklere verilen cevaplar yeterli bir cevap değil.
Neden Yeterli Değil?
Verilen cevaplar sistemde mantıksal bir çalışma hatasına sebep oluyor. Cevap şu şekilde:
Arama listeleme sayfanızda while altına tek satır kod ekliyorsunuz. Eğer döngüde çıkan bir sayfa ise continue ile döngünün başına atıyor.
Fakat arama sorgunuz da sadece sayfalar mevcut ama size bu sayfalar gizleniyor. Bu nedenle “Sonuç bulunamadı” yazısı da görünmüyor. Çıplak bir arama sayfası geliyor ve bozuk bir izlenim uyandırıyor.
Çözüm Ne?
Çözümü oldukça basit. Kullandığınız temada arama formunun oluşturulduğu yeri bulun. Genelde şöyle bir şeydir:
1 2 3 4 |
<form method="get" id="searchform" action="<?php bloginfo('home'); ?>/"> <input type="text" value="<?php echo $search_text; ?>" name="s" id="s" /> <input type="submit" value="Ara" /> </form> |
Burada yapmanız gereken hidden bir input türünde post_type=”post” parametresini de arama formuna eklemektir.
1 |
<input type="hidden" name="post_type" value="post" /> |
Bu tek satırlık kodu formunuzun içine ekleyin. Bu sayede sadece blog postlarında arama yapılacaktır. Formunuzun son hali şöyle olacaktır:
1 2 3 4 5 |
<form method="get" id="searchform" action="<?php bloginfo('home'); ?>/"> <input type="text" value="<?php echo $search_text; ?>" name="s" id="s" /> <input type="hidden" name="post_type" value="post" /> <input type="submit" value="Ara" /> </form> |
Umarım işinize yarar ve faydalı bir yazı olmuştur.
Kolay gelsin
Yorumlar