WordPress – searchform.php Nedir? Nasıl Kullanılır?
28 Ekim 2019 tarihinde Emre Can ÖZTAŞ tarafından paylaşıldı.
WordPress theme (tema) geliştirme aşamasında; muhtemelen “Arama” özelliğine ihtiyaç duyarsınız. Bir arama formu yaparsınız ve bunu temanıza eklersiniz. İşte burada kullanabileceğiniz en aktif elemanlardan birisi de: searchform.php dosyasıdır.
searchform.php dosyası, oluşturmuş olduğunuz arama formunu saklayabileceğiniz bir dosyadır.
searchform.php dosyasına ihtiyacınız var mı? Hayır. Kullanmak isteyip istememek tamamen sizin elinizde. Örneğin; header.php dosyasında oluşturmuş olduğunuz navbar’a arama formunuzu da ekleyebilirsiniz. Herhangi bir sıkıntı olmaz.
Örnek bir arama formumuz aşağıdaki gibi olsun.
<form method="get" action="<?= home_url('/'); ?>"> <div class="form-group"> <input class="form-control" name="s" type="text" required=""> </div> <button class="btn btn-block m_btn-primary" type="submit">Ara</button> </form>
Yukarıda örnek bir form oluşturduk (Bootstrap ile). Burada; action kısmına, home_url(‘/’) yazdık. Böylelikle; sitenin kök dizinini işaret ediyoruz. Yani; https://emrecanoztas.com/ gibi. home_url() metoduna daha sonraki yazılarda değineceğim.
name kısmı ‘s’ şeklinde olmalı ve metod olarak ‘GET’ kullanılmalıdır. Buradaki; s ismi, WordPress tarafından default (varsayılan) olarak kullanılır. İsterseniz; name kısmına s yerine farklı bir isim de verebilirsiniz. Fakat buna göre de çeşitli değişiklikleri yapmalısınız. Bu konuya da ilerleyen yazılarda değineceğim.
Yukarıdaki formumuzu, herhangi bir sayfada da muhafaza edebiliriz. Fakat; WordPress’in sunduğu searchform.php dosyasında saklamak daha mantıklı olacaktır. O halde yukarıdaki formumuzu; searchform.php adında bir dosya oluşturup, ekleyelim.
Peki bu formumuzu nasıl çağırabiliriz?
get_search_form()
Yazımızın giriş kısmında; searchform.php adında bir dosya oluşturduk ve formumuzu da bu dosyaya ekledik. Şimdi sıra geldi; oluşturduğumuz formumuzu çağırmaya.
Oluşturduğumuz; searcform.php dosyasını bu metot ile çağırabiliriz.
<?php get_search_form();
Yukarıdaki ifade ile searchform.php dosyasındaki formumuz eklenir. Dolayısıyla; yazdığımız bu metot, form çağırma işlemini yerine getirir.
Eğer elinizde; searchform.php adında bir dosya yoksa; WordPress’in kendi arama formu eklenir. WordPress’in kendi arama formu da aşağıdaki gibidir.
<form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>"> <div><label class="screen-reader-text" for="s">Search for:</label> <input type="text" value="" name="s" id="s" /> <input type="submit" id="searchsubmit" value="Ara" /> </div> </form>
WordPress’in kendi formu üzerinden de gidebilirsiniz. CSS’leriyle oynayarak uygun yapıyı kurabilirsiniz.
Burada dikkat etmeniz gereken bir kaç önemli husus var. Şimdi bu hususlara kısaca değinmek istiyorum.
get_search_form() metodu aslında şu yapıdadır. get_search_form($status). Burada; $status değişkeni, Boolean (True veya False) tipindedir. Eğer elinizde; searchform.php dosyası yoksa ve $status değişkeni true ise yukarıdaki WordPress formunu verir. false değerini aldığında ise; string olarak formu verir. Şayet elinizde searchform.php dosyası varsa; o zaman bu değişken görmezden gelinir.
searchform.php dosyasını kullanmak istemezseniz; bir alternatif daha var. Kısaca; bu konuya da değinelim.
functions.php Dosyasında get_search_form() Metodunu Düzenleme
functions.php dosyası içerisinde; searchform.php dosyası oluşturmadan, kendi formunuzu oluşturabilirsiniz. Bunun için yapmanız gereken bir fonksiyon oluşturmaktır. Aşağıdaki gibi.
<?php function set_my_form() { $my_form = '<form method="get" action="' . home_url('/') . '"> <div class="form-group"> <input class="form-control" name="s" type="text" required=""> </div> <button class="btn btn-block m_btn-primary" type="submit"></button> </form>'; return ($my_form); } add_filter('get_search_form', 'set_my_form');
İlk oluşturduğumuz formu; functions.php dosyasında yeniden oluşturduk. Artık; get_search_form() metodunu çağırdığımızda, yukarıdaki form gelecektir.
Her iki şekilde de kullanım sağlabilirsiniz. Fakat; en sağlıklı yol: searchform.php dosyasını oluşturmak ve arama formunuzu bu dosya içerisinde saklamaktır.
Kategoriler: [WordPress] Etiketler: #functions.php #get_search_form() #searchform.php #wordpress
- CodeIgniter (3)
- CSS (1)
- Genel (1)
- Git (1)
- Gulp (1)
- HTTP (1)
- JavaScript (3)
- Opencart (1)
- PHP (17)
- Python (1)
- Sublime Text (6)
- Twitter (1)
- VirusTotal (1)
- Visual Studio Code (2)
- Web Crawling / Scraping (2)
- WordPress (11)
E-Kitaplar
Türkçe kaynağa destek olmak amacıyla yazdığım e-kitapları ücretsiz olarak indirebilirsiniz. Kaynaklar gösterilmek kaydıyla; kitapların içinde bulunan bölümlerin veya kitabın tamamının çıktısı alınabilir, kopyalanabilir, dağıtılabilir ve herkesle paylaşılabilir.
Bir cevap yazın