Menggunakan Tag Bersyarat Di WordPress

Diterbitkan: 2012-12-27

Mari kita lihat bagaimana menjalankan fungsi khusus di tema Anda yang berbeda lokasi kait berdasarkan kondisi tertentu yang dipenuhi dan kembali ya.

Jika Anda menggunakan kerangka tema premium seperti Genesis, Anda akan memiliki akses ke panduan pengguna.

Panduan pengguna umumnya berisi cuplikan kode yang berisi fungsi khusus.

Catatan: Jika Anda tidak menggunakan kerangka tema premium, Anda harus membuat sendiri fungsi kustom atau menemukan cuplikan kode yang sesuai dengan tema Anda.

Fungsi kustom ini dapat dijalankan di lokasi tema tertentu menggunakan kait tindakan tema Anda.

Yang perlu Anda lakukan adalah menempelkan cuplikan kode ke file functions.php tema anak Anda untuk menyesuaikan fungsi tema Anda.

Setiap kerangka tema menggunakan kait yang berbeda namun mereka melakukan hal yang sama, mereka hanya diberi nama yang berbeda seperti:

 thesis_after_post genesis_after_post woo_post_after

3 contoh ini semuanya dijalankan setelah posting selesai di mana Anda mungkin ingin menambahkan area widget, spanduk, atau kotak masuk email dengan tombol berbagi/mengikuti sosial.

Tetapi bagaimana jika Anda hanya ingin fungsi kustom dijalankan di lokasi kait tertentu berdasarkan kondisi tertentu seperti? Sebagai contoh:

  • Hanya pada satu posting: is_single()
  • Hanya pada posting dalam kategori tertentu: is_category()
  • Hanya di halaman arsip: is_archive()
  • Hanya di halaman beranda: is_home()

Menambahkan tag kondisional ke fungsi kustom Anda yang dijalankan di lokasi kait tema Anda, memungkinkan Anda untuk menjalankan fungsi hanya jika kondisi mengembalikan ya.

Catatan: Anda mungkin ingin menguji tag ini dengan cuplikan kode untuk fungsi khusus Anda di penyiapan lokal sebelum menambahkan kode ke situs langsung.

Setelah Anda merasa nyaman menggunakan fungsi kustom dan memahami di mana dan bagaimana kait tindakan tema Anda bekerja, Anda dapat melangkah lebih jauh dengan menggunakan tag kondisional atau pernyataan kondisional seperti yang disebut beberapa pengembang.

Jadi bagaimana saya menggunakan pernyataan bersyarat?

Contoh Tag Bersyarat

Berikut beberapa tag kondisional umum yang digunakan oleh desainer WordPress serta pengembang tema dan plugin.

 is_home() is_category() is_single() is_page()

Pertama, mari kita lihat penggunaan tag kondisional berdasarkan beberapa pernyataan.

is_single & in_category

 if (is_single() && in_category('134'))
 if (is_single() && in_category('web-design'))

Kedua cuplikan kode ini melakukan hal yang persis sama dan berisi 2 tag kondisional.

Yang pertama menggunakan id kategori 134 dan yang kedua menggunakan kategori slug 'web-design'.

Fungsi apa pun yang Anda sertakan dengan kode ini hanya akan dijalankan pada satu posting dalam kategori yang berisi id posting 134 atau 'desain web' siput halaman. Ini jelas merupakan kategori desain web.

Parameter

Seperti yang Anda lihat pada contoh di atas, Anda dapat menggunakan parameter yang berbeda dengan tag kondisional seperti:

  1. ID Postingan
  2. Judul Posting
  3. Posting Siput

Beberapa tag kondisional seperti tag is_home() tidak kecuali parameter apa pun mungkin karena mereka tidak benar-benar membutuhkannya.

is_page

 if (is_page('4289'))
 if (is_page('contact'))

Kedua tag kondisional ini juga melakukan hal yang persis sama.

Yang pertama menggunakan halaman posting id 4289 dan yang kedua nama halaman dan siput 'kontak'.

Fungsi yang Anda sertakan dengan tag ini hanya akan dijalankan di halaman kontak.

Tag Kondisional Halaman Beranda

Penggunaan paling umum untuk menggunakan tag is_home adalah untuk menampilkan sesuatu hanya di halaman beranda atau mengecualikan halaman beranda dari fungsi.

is_home

 if (!is_home()

Kode ini berisi ! sebelum tag kondisional home_page sehingga mengecualikan halaman beranda dari fungsi.

 if (is_home()

Kode ini menciptakan kondisi yang hanya berlaku untuk halaman beranda saja.

Contoh Kerja

Jika Anda menyalin dan menempelkan kode berikut menggunakan editor kode, ke file fungsi tema anak Anda, Anda akan menemukannya mencetak teks setelah header hanya pada satu posting.

 add_action( 'genesis_entry_footer', 'add_content_after_single_posts' ); function add_content_after_single_posts() { if ( is_singular('post') ) { echo 'Content Added After Single Post Entry Footer'; } }

Kode di atas menggunakan posisi kait genesis_entry_footer dengan tag kondisional is_singular('post') dan mencetak teks setelah konten hanya pada satu postingan. Ini adalah contoh klasik yang menunjukkan cara menggunakan tag kondisional dalam fungsi kustom dengan kait tindakan tema Anda.

Tag Bersyarat Dengan Array

Anda juga dapat menambahkan array ke pernyataan kondisional Anda.

is_page (array

 if (is_page(array('contact','37290'))

Anda dapat menambahkan lebih banyak halaman ke larik ini hanya dengan memasukkannya ke dalam larik ini yang dipisahkan dengan koma.

Fungsi ini hanya akan dijalankan pada halaman kontak dan halaman yang berisi id posting 37290.

Mengeluarkan Teks/HTML

Jika Anda hanya ingin menampilkan beberapa teks atau HTML, Anda dapat menambahkan pernyataan bersyarat ke kait tindakan tema Anda. Cara termudah untuk melakukannya adalah dengan menempelkan tag kondisional dengan HTML Anda menggunakan plugin pengait.

 if ( ! is_home()) { echo'Your Text Here'; }

Mari kita ambil fungsi umum dengan action hook dan tambahkan tag kondisional.

Tag Bersyarat di Genesis

Anda dapat dengan mudah menambahkan salah satu cuplikan kode tema Genesis untuk digunakan dalam tema StudioPress dan menyertakan tag kondisional dengan kode tersebut.

 /** Add custom body class to video category */ add_filter( 'body_class', 'add_body_class' ); function add_body_class( $classes ) { if ( is_category( 'video-tutorials' ) ) $classes[] = 'custom-class'; return $classes; }

Kode ini memungkinkan pengguna untuk menata halaman kategori video menggunakan kelas khusus.

Parameter yang digunakan adalah slug video-tutorial namun Anda bisa menggunakan post.id atau judul di tag kondisional Anda.

Tag Bersyarat dalam Tesis

Mari kita ambil fungsi khusus dari panduan pengguna tema DIY dan tambahkan pernyataan bersyarat.

 function hide_nav_menu() { if(is_page ( 'contact-page' ) ) remove_action ( 'thesis_hook_before_header', 'thesis_nav_menu' ); } add_action ( 'thesis_hook_before_html','hide_nav_menu' );

Ini akan menyembunyikan menu navigasi pada halaman kontak saja.

Kita bisa menggunakan parameter yang berbeda untuk halaman kontak termasuk slug halaman, id posting atau nama halaman.

Dimana Untuk Menempatkan Kode?

Jika Anda menggunakan kerangka tema premium, Anda dapat menempelkan kode ke file functions.php tema anak Anda.

Kerangka kerja ini semuanya menawarkan plugin atau pengelola kait yang memungkinkan Anda menempelkan kode ke lokasi kait tempat Anda ingin kode dieksekusi berdasarkan tag bersyarat Anda.

  • Manajer woo hook
  • Kait Sederhana Kejadian
  • Kaitan Tesis, Kemajuan & WordPress

Jelas, Anda tidak perlu menyertakan kait tindakan dalam kode Anda jika Anda menggunakan pengelola kait.

Pilihan lainnya adalah menempelkan tag kondisional langsung ke file template tema Anda di lokasi yang Anda inginkan untuk menjalankan fungsi berdasarkan kondisi Anda. Ini bukan praktik terbaik karena Anda akan kehilangan kode saat memperbarui tema.

Selalu praktik terbaik untuk membuat tema anak dan melakukan modifikasi pada file template Anda di sana. Lebih baik lagi, gunakan fungsi khusus yang telah dibuat oleh pengembang tema Anda dan tempelkan kode ke file fungsi tema anak Anda dengan tag kondisional Anda, setelah pengujian membuktikannya berfungsi.

Tag & Contoh Bersyarat WordPress

Anda akan menemukan daftar semua tag kondisional WordPress dengan contoh di Codex WordPress.

Tag Bersyarat Khusus Tema

Beberapa tema premium juga menggunakan tag kondisional mereka sendiri yang unik untuk kerangka tema mereka.

Woo Commerce adalah salah satunya: Contoh:

 is_woocommerce() - Returns true if on a page which uses WooCommerce templates is_product_category() - Returns true when viewing a product category archive is_checkout() - Returns true on the checkout page.

Pelajari lebih lanjut tentang menggunakan tag bersyarat dengan Woo Commerce.

Kesimpulan

Menggunakan tema yang menawarkan sejumlah besar cuplikan kode yang diuji oleh pengembang adalah bonus besar. Dengan cara ini Anda dapat memilih salah satu tag kondisional yang ditawarkan WordPress dan menambahkannya ke cuplikan kode Anda untuk menyesuaikan tema sesuai keinginan Anda.