12. Templat Search & Page

Templat Search dan Page sangat penting untuk melengkapi WordPress Theme . Kedua templat tersebut sebenarnya tidak jauh beda dengan templat sebelumnya. Dalam hirarki templat WordPress , templat Page termasuk singular templat , mirip dengan templat single.
Karena itu, mari kita tinjau kembali templat single.php.

Templat Page

Apa sebenarnya peran templat Page di WordPress? Apakah ia dibedakan khusus untuk informasi yang jarang diperbarui, atau ia punya kelebihan lain bukan sekedar menampilkan informasi “About Us”, “Company Profile”  dan yang sejenisnya. Pembuat WordPress berfikir kalau templat Page sebenarnya serupa dengan templat Post tapi untuk isi atau content yang  tidak ditampilkan secara kronologis . Karena kronologi menyangkut urutan yang sesuai dengan waktu penerbitan atau publikasi, maka tidak mengikuti aturan kronologis sama saja maksudnya kalau informasi itu tidak terlalu sering diperbarui. Mungkin pembaruan dilakukan dalam jangka waktu lebih lama misalnya satu bulanb sekali, enam bulan sekali, setahun sekali atau kalau ada peristiwa khusus saja, misalnya ganti alamat kantor di laman Kontak (Contact Us). Dengan kata lain, templat Page adalah halaman yang digunakan untuk informasi yang jarang direvisi seperti About Us, profil usaha, produk dan layanan, kontak, disclaimers, privacy policy, term of services, dan informasi baku semacam itu. Sedangkan templat Post yaitu single.php adalah templat untuk menampilkan informasi yang terbarukan secara kronologis misalnya informasi yang bernilai berita, jurnal, tutorial, dll. Isi  yang ditampilkan Page juga menyertakan metadata seperti navigasi, timestamps, kategori, tag. Susunan dokumen yang terbentuk juga dapat dibuat hirarkis dengan relasi induk-anak atau parent-child sehingga sebuah Page dapat dikelompokkan berdasarkan kriteria tertentu misalnya kelompok info perusahaan (About Us, Organisasi, Profil dll), info  hukum (Disclaimers, TOS, Privacy Policy), dll.

Jadi, sebenarnya antara template Page dan single.php tidak beda jauh. isi dari Loop untuk sebuah Page juga berada dalam file templat yaitu  content-page.php .

Buat file page.php dan salin kode berikut kedalamnya.

Sekarang buat markup untuk templat Page sebenarnya di dalam file  content-page.php. Salin kode berikut di file content-page.php.

Kalau kita perhatikan dengan seksama, file diatas sebenarnya versi ringkas dengan membuang beberapa baris kode di file  content-single.php. Yang dibuang adalah semua kode metadata yang berhubungan dengan post atau artikel.

Catatan : pembuangan metadata di templat Page sebenarnya hanya pilihan saja. Beberapa theme tetap menggunakan metadata di templat Page sebagai kontrol dokumen misalnya revisi dll.

template-screenshot-page-1

Contoh tampilan page.php tanpa metadata

Templat Search

Di templat file search.php kita akan membungkus Loop di dalam statemen  IF – untuk kasus dimana tidak ada post yang ditemukan dalam loop.

Mekanismenya :

IF (jika) kita punya artikel atau posts, atau, ada artikel atau post yang cocok dengan kata kunci yang kita berikan, THEN (maka) lakukan loop pencarian , terus sortir seperti di laman index.php, tetapi  IF (jika) tidak  punya artikel atau post yang masuk kedalam loop pencarian, atau jika tidak ada satu artikel atau post pun yang cocok dengan kata kunci yang kita berikan , berikan keterangan untuk mencari dengan cara lain (misalnya ganti kata kunci).

Kalau diterjemahkan kedalam bahasa kode komputer, hasilnya adalah :

Kode diatas dapat dijelaskan sbb:

Pertamax, lihat apa aja yang ada diantara kondisional di baris ke-14 sampai 29 yaitu  :

Jika ada hasil pencarian, query hasil pencarian ditampilkan sesuai dengan pengaturan markup halaman hasil pencarian. Di bagian atas juga ada judul yang berisi kata kunci yang dicari atau dijadikan input , diikuti oleh daftar post atau artikel yang sesuai dengan kata kunci. Hasil pencarian yang cocok akan di Loop dalam statemen while…endwhile di baris ke-23 sampai 27 dimana templat content search dipanggil oleh fungsi get_template_part() untuk menampilkan hasilnya. Jika tidak ada hasil, maka dilanjutkan dengan memanggil templat no-result search.

Fungsi navigasi wptutorial_content_nav() cara kerjanya sama dengan templat  navigasi di file index.php.

search-templat-withresult

Contoh laman hasil pencarian berhasil

Dari tutorial sebelumnya, kita pernah menyinggung fungsi get_template_part() yang mempunyai artikel atau tulisan yang sudah di markup untuk tampil di hasil pencarian.

Untuk itu diperlukan file templat  “content-search.php”, tapi karena file itu belum dibuat, kita gunakan saja content.php . Jika ingin memformat hasil pencarian dengan cara yang berbeda, silahkan buat file baru dan beri nama  “content-search.php” sendiri.

Perhatikan bagian akhir file sampai  endif (baris 35); Dibagian itu kondisi yang diberikan untuk pencarian yang tanpa hasil dilakukan dengan memanggil file no-results.php yang pernah dibuat saat tutorial mengenai index.php (Lihat kembali Tutorial 9).

search-templat-no-result

Contoh laman hasil Pencarian – No Result

Templat Untuk Form Search

Kembali ke tutorial ke-5 yang membahas Struktur Templat & Direktori Theme  , kita tambahkan file searchform.php. JIka Anda ingin mengkustom form pencarian, file inilah yang harus dioprek . File ini sendiri sebenarnya hanya pilihan . Jika theme tidak punya file searchform.php, maka WordPress akan menampilkan form pencarian dengan tampilan standar WordPress.

Buka file searchform.php atau buat baru dan salin kode berikut ke file  searchform.php.

 

Satu pemikiran pada “12. Templat Search & Page

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *