Cara Menambahkan Logika Bersyarat ke Tema WordPress Anda

Diterbitkan: 2021-02-25

Membangun situs web dengan WordPress memberikan fleksibilitas luar biasa dengan apa yang dapat Anda lakukan baik dari segi desain maupun fungsionalitas. Dan, saat Anda masuk lebih dalam ke pengembangan tema, Anda akan menemukan bahwa ada kalanya Anda perlu menargetkan halaman, kategori, atau jenis posting tertentu untuk sesuatu yang istimewa. Di situlah logika kondisional dapat membuat pekerjaan Anda lebih mudah.

Logika bersyarat adalah fitur yang kuat dari bahasa pemrograman (PHP, dalam kasus kami). Intinya, kita dapat menggunakan kode untuk memeriksa apakah kondisi tertentu ada dan kemudian melakukan sesuatu yang spesifik jika kondisi itu terpenuhi. Contoh sederhana dari hal ini adalah memeriksa untuk melihat apakah pengguna saat ini berada di halaman beranda situs kami. Menggunakan logika kondisional, kita mungkin memilih untuk memuat slider atau konten khusus lainnya dalam situasi itu.

Berkenaan dengan WordPress, ada sejumlah Tag Bersyarat yang berguna yang dibangun ke dalam perangkat lunak yang memungkinkan kami menguji semua jenis skenario. Mereka didokumentasikan dengan baik dan memungkinkan Anda untuk membawa tingkat fungsionalitas yang lebih tinggi ke situs Anda.

Hari ini, kita akan melihat beberapa Tag Bersyarat yang lebih umum digunakan dan bagaimana Anda dapat menerapkannya ke situs Anda sendiri.

Catatan tentang Menggunakan Tag Bersyarat

Tag Bersyarat adalah potongan kode PHP dan harus masuk ke tema aktif situs Anda. Ada sejumlah tempat Anda dapat menggunakan logika kondisional dalam sebuah tema.

Jika Anda belum melakukannya, ada baiknya Anda membiasakan diri dengan Hierarki Template WordPress untuk penjelasan tentang cara kerja file tema.

Dan, sebelum Anda mencoba menerapkan kode baru di situs langsung, sebaiknya siapkan lingkungan pengembangan (pementasan) untuk mengujinya terlebih dahulu. Ingatlah bahwa satu langkah salah dengan PHP dapat memberikan situs Anda "Layar Putih Kematian" yang ditakuti. Jadi berhati-hatilah dalam pengujian sebelum Anda bekerja di situs langsung.

adalah_rumah()

Yang ini menyebabkan kebingungan besar di antara pengembang. Dengan melihat tag, Anda akan berasumsi bahwa is_home() akan digunakan untuk memeriksa halaman beranda situs Anda. Bukan itu masalahnya.

Ini sebenarnya mencari halaman yang ditetapkan sebagai halaman Posting Anda, yang diatur di Pengaturan> Membaca di dalam dasbor WordPress. Secara default, WordPress menggunakan halaman beranda Anda untuk membuat daftar posting – tetapi sebagian besar situs cenderung menggunakan halaman beranda statis.

Jadi, misalnya, jika Anda telah menetapkan halaman bernama "Blog" sebagai halaman Posting Anda, itulah yang akan dicari is_home() .

 <?php // If this the Posts page, display a message. if ( is_home() ): echo '<h2>Thanks for visiting our blog!</h2>'; endif; ?>

is_front_page()

Sebaliknya, is_front_page() mencari halaman mana pun yang disetel sebagai beranda situs Anda – terlepas dari apakah itu statis atau tidak. Memang, ini bukan hal yang paling jelas di dunia ketika Anda belajar membuat tema Anda sendiri. Tetapi mengetahui tag mana yang akan digunakan sangat penting.

Apa yang baik tentang tag khusus ini adalah, meskipun Anda akan menetapkan halaman yang berbeda sebagai halaman beranda di kemudian hari, Anda masih akan menargetkan tempat yang tepat. Ada cara yang lebih eksplisit untuk menargetkan halaman, tetapi cara ini membuat Anda tetap terlindungi jika terjadi perubahan.

 <?php // If this is the home page, show a special message. if ( is_front_page() ) { ?> <h1>Welcome</h1> <?php // Otherwise, show the page title. } else { ?> <?php the_title( '<h1 class="entry-title">', '</h1>' ); ?> <?php } ?>

is_single() dan is_page()

Masing-masing tag ini melakukan fungsi ganda. is_single() terlihat untuk melihat apakah URL saat ini adalah sebuah posting. Ini bisa berupa posting blog standar, lampiran atau milik jenis posting khusus.

Demikian pula, is_page() akan mengembalikan true jika URL saat ini adalah halaman. Secara default, kedua tag menargetkan konten apa pun yang berada di bawah payung halaman atau postingan. Ini adalah benang merah di antara banyak Tag Bersyarat.

 <?php // Target all posts. if ( is_single() ): echo 'You are on a single post.'; endif; // Target all pages. if ( is_page() ): echo 'This is a page'; endif; ?>

Tetapi Anda juga dapat memanfaatkan tag ini untuk menargetkan pos atau halaman tertentu dengan menambahkan ID atau siput.

 <?php // Target About Us if ( is_page( 'about-us' ) ): ?> <a href="#"></a> <?php endif; ?>

Menggunakan array akan memungkinkan Anda menargetkan banyak konten.

 <?php // Target About Us and Contact Us pages. if ( is_page( array('about-us', 'contact-us') ) ): ?> <a href="#"></a> <?php endif; ?>

is_tax() dan has_term()

Taksonomi memainkan peran besar dalam bagaimana konten diatur di situs. Dua yang paling umum adalah kategori dan tag – yang memiliki Tag Bersyarat sendiri. Tetapi WordPress juga memungkinkan kita untuk membuat taksonomi kita sendiri.

Misalnya, jika situs Anda berisi ulasan musik, Anda mungkin memiliki taksonomi yang disebut "Genre". Dari sana, Anda dapat membuat daftar genre musik tertentu dalam taksonomi itu seperti, "Rock", "Hip-Hop" dan "Jazz".

is_tax() menargetkan halaman arsip taksonomi. Tetap dengan contoh ulasan musik kami, tag ini akan aktif (berlaku) ketika kami berada di halaman arsip untuk setiap genre tertentu.

 <?php // Display a message on our Genre archive pages. if (is_tax('genre','rock','hip-hop','jazz') ): echo '<h2>This is a genre archive. Enjoy!</h2>'; endif; ?>

has_term() digunakan untuk menargetkan posting saat ini berdasarkan taksonomi yang dimilikinya. Ini berguna jika, misalnya, kami ingin menambahkan grafik khusus untuk posting di setiap genre musik di situs kami.

 <?php // Show an image for the Rock genre. if (has_term('rock','genre') ): ?> <?php endif; ?>

is_page_template()

Setelah Anda terbiasa dengan hierarki template sebuah tema, Anda mungkin ingin membuat template halaman kustom Anda sendiri. is_page_template() memungkinkan Anda menargetkan templat halaman saat ini yang sedang digunakan (terlepas dari apakah itu khusus atau tidak). Anda dapat memeriksa untuk melihat apakah ada templat halaman yang digunakan sama sekali, atau mencari yang spesifik.

Namun, Anda harus berhati-hati saat mencari templat halaman tertentu. Karena tag ini memeriksa keberadaan nama file, conditional dapat berhenti berfungsi jika nama template diubah. Anda harus memperbarui kode Anda untuk mencerminkan perubahan nama file apa pun.

 <?php // Add a search form to the Services page template. if (is_page_template('services.php') ): ?> <?php get_search_form(); ?> <?php endif; ?>

Semua Kondisi Terpenuhi

Meskipun ini hanyalah pengenalan singkat tentang bagaimana logika kondisional dapat digunakan, semoga ini membangkitkan selera Anda untuk belajar lebih banyak.

Setelah Anda menguasai persyaratan, Anda akan dapat menyesuaikan situs Anda dengan cara yang hampir mustahil.

Mereka dapat memberi Anda kontrol halus atas tampilan dan tata letak tema Anda sambil tetap mendapat manfaat dari semua keuntungan menggunakan CMS.