Panduan Terbaik untuk Tag Bersyarat WordPress

Tanda bersyarat WordPress adalah ciri hebat WordPress yang membolehkan anda mengawal kandungan yang dipaparkan di halaman. Terdapat tag bersyarat untuk kawasan yang berlainan di laman web anda seperti halaman rumah, catatan blog dan halaman anda. Ini membolehkan anda mengubah apa yang dipaparkan di laman web anda. Sebagai contoh, anda boleh menukar logo laman web anda di kawasan yang berlainan di laman web anda.


Dalam tutorial ini, saya akan menerangkan tag bersyarat apa yang tersedia untuk anda dan menunjukkan kepada anda bagaimana ia boleh digunakan dalam tema dan pemalam.

Cara Tag Bersyarat WordPress Berfungsi

Tanda bersyarat adalah jenis data boolean yang hanya dapat mengembalikan benar atau salah. Tag is_home (), misalnya, merujuk kepada indeks blog. Kami dapat menggunakan tag ini untuk menampilkan pesan kepada pengunjung blog kami. Mesej ini tidak akan dipaparkan di tempat lain.

Kodnya mudah. Yang kami lakukan di bawah ini adalah memeriksa apakah halaman yang ditunjukkan adalah halaman indeks blog. Sekiranya ada, kami memaparkan mesej kami.

<?php

jika (is_home ()) {

gema "Selamat Datang ke Blog Kami!!";

}

?>

Di atas adalah contoh asas mengenai apa yang dapat dicapai dengan menggunakan tanda bersyarat, namun pada dasarnya semua itu ada. Anda hanya memeriksa jenis halaman yang sedang dipaparkan. Bergantung pada sama ada hasilnya benar atau salah, sekeping kod lain akan diambil tindakan.

Sebelum kita melihat lebih banyak contoh bagaimana tag bersyarat dapat digunakan, marilah kita melihat tag bersyarat yang popular yang kemungkinan besar anda lihat digunakan dalam tema WordPress anda.

  • is_home () – Memeriksa apakah indeks catatan blog dipaparkan. Ini mungkin atau mungkin bukan laman utama anda juga.
  • is_front_page () – Periksa sama ada halaman utama anda dipaparkan. Ini berfungsi sama ada tetapan halaman depan anda disiapkan untuk memaparkan catatan blog (iaitu blog index) atau halaman statik.
  • masih bujang() – Memeriksa untuk melihat apakah jenis pos tunggal sedang ditampilkan (tidak termasuk lampiran).
  • is_attachment () – Memeriksa apakah lampiran dipaparkan.
  • is_page () – Memeriksa apakah halaman sedang dipaparkan.
  • is_singular () – Memeriksa sama ada satu pos, lampiran atau halaman sedang dipaparkan. Benar dikembalikan sekiranya salah satu syarat tersebut dipenuhi.
  • is_kategori () – Memeriksa sama ada halaman arkib kategori sedang dipaparkan.
  • is_search () – Memeriksa apakah halaman hasil carian ditunjukkan.
  • is_tag () – Memeriksa sama ada arkib teg dipaparkan.
  • is_author () – Memeriksa apakah halaman arkib pengarang sedang dipaparkan.
  • is_arkib () – Memeriksa apakah ada jenis halaman arkib yang dipaparkan termasuk kategori, tanda, tarikh dan arkib pengarang.
  • is_sticky () – Memeriksa apakah jawatan telah ditentukan sebagai melekit.
  • is_multi_author () – Memeriksa jika lebih daripada seorang pengarang telah menerbitkan catatan di laman web. Benar dikembalikan jika dua atau lebih orang telah menerbitkan catatan. Sekiranya hanya satu pengarang yang telah menerbitkan catatan, atau jika tidak ada catatan yang diterbitkan sama sekali, palsu dikembalikan.

Terdapat enam tag bersyarat berdasarkan masa yang anda juga akan berguna. Tag ini merujuk pada halaman arkib tarikh. Contohnya, URL http://www.yourwebsite.com/2013/12/ adalah halaman arkib berdasarkan bulan.

Sekiranya mana-mana tag bersyarat berikut kembali benar, is_archive () juga akan benar.

  • is_date () – Memeriksa apakah halaman arkib berdasarkan tarikh.
  • adalah_tahun () – Periksa sama ada halaman arkib berdasarkan tahun.
  • is_month () – Periksa sama ada halaman arkib berdasarkan bulan.
  • is_day () – Periksa sama ada halaman arkib berdasarkan hari.
  • is_time () – Periksa sama ada halaman arkib berdasarkan masa.
  • is_new_day () – Periksa sama ada hari ini adalah hari baru. Sekiranya catatan semasa diterbitkan pada hari yang berbeza dari catatan sebelumnya yang diterbitkan, ia akan kembali benar. Salah akan dikembalikan sekiranya kedua-dua siaran diterbitkan pada hari yang sama.

Anda akan kerap menemui label bersyarat seperti is_home () dan is_single (), namun anda tidak perlu mengingat semua tag bersyarat ini. Sebilangan besar pengguna WordPress merujuk kepada codex WordPress untuk tag bersyarat yang sesuai ketika mereka perlu mengatur fungsi bersyarat.

Contoh Tag Bersyarat

Banyak tag bersyarat membenarkan parameter dihantar ke fungsi. Ini memberi anda lebih banyak kawalan terhadap syarat-syarat apa yang harus dipenuhi sebelum sesuatu diambil tindakan. is_page () adalah contoh yang baik untuk ini. Teg membolehkan anda memeriksa sama ada halaman yang dipaparkan adalah halaman. is_page () akan mengembalikan nilai true jika ada halaman yang dipaparkan, namun anda perlu menentukan parameter $ page jika anda ingin lebih spesifik. Parameter $ page boleh berupa ID halaman, tajuk halaman atau slug halaman.

Mari kita pertimbangkan laman web biasa yang mempunyai halaman tentang dan anda ingin menyesuaikan halaman mengenai berbeza dari semua halaman lain. Contohnya, anda boleh memaparkan gambar syarikat anda di bahagian atas bar sisi, atau anda boleh memaparkan maklumat tambahan di bahagian bawah halaman berkenaan.

Untuk melakukan ini, anda perlu menentukan parameter halaman $. Sekiranya ID halaman adalah 10, anda boleh membuka penyataan bersyarat anda dengan perkara seperti ini:

jika (is_page (10)) {

Halaman tertentu juga dapat ditentukan dengan meneruskan judul halaman ke fungsi.

jika (is_page (‘About Us’)) {

Slug halaman juga boleh digunakan. Seperti yang anda ingat, slug halaman adalah pengecam bernama unik di hujung URL. Sekiranya URL halaman mengenai laman web anda adalah www.yourwebsite.com/about-our-company/, slug halaman adalah mengenai syarikat kami.

jika (is_page (‘about-our-company’)) {

Beberapa tag bersyarat, seperti is_page (), juga dapat melewati parameter dalam array. Pernyataan bersyarat berikut akan mengembalikan nilai benar sekiranya salah satu syarat tersebut benar.

jika (is_page (array (10, ‘About Us’, ‘about-our-company’))) {

Adalah biasa bagi pembangun untuk menetapkan lebih daripada satu syarat ketika menggunakan tag bersyarat. Mari kita kembali ke tugas mudah untuk menampilkan mesej selamat datang kepada pengunjung blog. Ini adalah sesuatu yang mungkin ingin ditambahkan oleh laman web korporat ke kawasan blog mereka tetapi tidak ke kawasan lain di laman web mereka (mis. Halaman utama, halaman hubungan, mengenai halaman dll).

Mereka boleh melakukan ini dengan menggunakan tag bersyarat is_home () dan is_single (); yang masing-masing mewakili indeks blog dan catatan tunggal. Untuk memaparkan mesej di kedua-dua kawasan, anda perlu menggunakan operator ATAU logik || Ini digambarkan dalam kod di bawah. Pernyataan awal jika memeriksa sama ada halaman tersebut adalah indeks blog atau satu catatan. Sekiranya betul, mesej akan dipaparkan.

<?php

jika (is_home () || is_single ()) {

gema "Selamat Datang ke Blog Kami!!";

}

?>

Operator logik lain yang sangat berguna adalah pengendali AND &&. Ini digunakan apabila anda mahu dua atau lebih syarat menjadi kenyataan sebelum sesuatu diambil tindakan. Penyataan berikut jika memeriksa apakah halaman adalah halaman arkib dan dikategorikan di bawah kategori berita. Di halaman kategori berita, mesej selamat datang akan dipaparkan. Tidak ada yang akan dipaparkan dalam kategori lain.

<?php

jika (is_archive () && is_category (‘Berita’)) {

gema "Selamat datang ke Arkib Berita";

}

?>

Pengendali DAN dan ATAU boleh digabungkan. Contoh di bawah diambil dari templat functions.php dari tema WordPress lalai Twenty Thirteen. Fungsi ini digunakan untuk menampilkan judul halaman di penyemak imbas, namun hanya sebahagian fungsi yang ditunjukkan di bawah.

Pernyataan if mengembalikan nilai benar jika terdapat keterangan laman web dan pengguna melihat indeks blog atau halaman utama. Keterangan laman web dapat dimasukkan melalui bidang tagline di kawasan tetapan umum anda. Sekiranya anda melengkapkan bidang ini, di indeks blog dan halaman utama anda bar judul akan memaparkan “Judul Laman | Penerangan Laman ”(nota: pemisah ditampilkan menggunakan rentetan $ sep dalam kod di bawah). Sekiranya tidak, bar tajuk akan memaparkan “Judul Laman”.

Seperti yang anda lihat, is_home dan _is_front_page dilihat sebagai satu entiti disebabkan oleh operator OR. Inilah sebabnya mengapa mereka dibungkus dalam kurungan.

jika ($ site_description && (is_home () || is_front_page ()))
$ tajuk = "$ tajuk $ sep $ site_description";

Operator logik PHP lain yang boleh anda gunakan adalah pengendali not !. Ini lebih praktikal untuk digunakan dalam banyak keadaan. Sebagai contoh, katakan anda mahu memaparkan gambar di semua halaman anda kecuali arkib anda. Tidak perlu membuat pernyataan bersyarat yang panjang yang bertanya “Apakah ini halaman utama, apakah ini satu pos, apakah ini halaman …”. Adalah lebih praktikal untuk hanya bertanya “Apakah ini bukan halaman arkib?”.

Untuk melakukan ini, cukup tambahkan tanda seru sebelum tanda bersyarat. Kod di bawah menunjukkan betapa mudahnya praktik ini. Ia akan memaparkan gambar di setiap halaman laman web anda kecuali halaman arkib.

<?php

jika (! is_archive ()) { ?>

<?php

}

?>

Hingga kini, kami telah melihat contoh asas tag bersyarat yang digunakan di mana sesuatu dilakukan atau tidak diambil tindakan (iaitu jika A benar, lakukan B). Dalam praktiknya, biasanya ada tindakan lain yang perlu dilakukan sekiranya keadaan tidak dipenuhi. Selain itu, mungkin ada beberapa syarat yang dapat dipenuhi, dengan tindak balas yang berbeza terhadap masing-masing.

Daripada menulis banyak pernyataan individu untuk ini, adalah praktikal untuk menggunakan pernyataan lain dan lain-lain. Ini memberi anda tahap kawalan yang lebih besar terhadap apa yang dipaparkan di laman web anda.

Kita boleh menunjukkannya dengan contoh. Katakan bahawa anda ingin menunjukkan logo yang berbeza di laman web anda di kawasan yang berlainan di laman web anda. Bagaimana anda melakukan ini? Jawapannya mudah: Kami menggunakan pernyataan lain dan lain-lain. Kod di bawah menunjukkan bagaimana ini dapat dicapai.

<?php

jika (is_home () || is_front_page ()) { ?>

<?php

} elseif (is_category ()) { ?>

<?php

} elseif (is_single ()) { ?>

<?php

} lainif (is_page ()) { ?>

<?php

}

lain { ?>

<?php

}

?>

Bergantung pada kawasan laman web yang dilihat pengunjung, salah satu daripada lima logo akan dipaparkan menggunakan kod di atas. Ini adalah contoh asas yang menggambarkan betapa mudahnya penyataan lain dan lain-lain jika pernyataan dapat digunakan untuk mengawal banyak bidang di laman web anda.

Pernyataan Elseif juga digunakan di bahagian lain di WordPress. Sebilangan besar templat function.php menggunakannya dan banyak tema WordPress menggunakannya untuk mengubah bagaimana tajuk laman web mereka dipaparkan di penyemak imbas.

Tanda Lebih Bersyarat

Terdapat sebilangan tag bersyarat tambahan yang ada. Sebilangan besar ini digunakan oleh pembangun dalam tema dan pemalam.

Berikut adalah senarai beberapa tanda bersyarat lain yang tersedia untuk anda.

  • is_tax () – Memeriksa sama ada halaman arkib taksonomi khusus dipaparkan.
  • has_term () – Memeriksa apakah jawatan semasa mempunyai salah satu syarat yang ditentukan.
  • taksonomi_ ada () – Memeriksa sama ada nama taksonomi ada.
  • post_type_exists () – Memeriksa sama ada jenis pos ada.
  • is_post_type_hierarchical ($ post_type) – Memeriksa sama ada jenis jawatan adalah hierarki.
  • is_post_type_archive () – Memeriksa apakah halaman arkib jenis pos tertentu sedang dipaparkan.
  • is_comments_popup () – Memeriksa untuk melihat apakah tetingkap timbul komen terbuka.
  • komen_buka () – Memeriksa sama ada komen dibenarkan untuk siaran atau halaman semasa.
  • pings_open () – Memeriksa apakah ping dibenarkan untuk posting atau halaman semasa.
  • is_feed () – Memeriksa sama ada pertanyaan semasa untuk suapan.
  • ialah_404 () – Memeriksa sama ada ralat 404 sedang dipaparkan.
  • is_page () – Memeriksa sama ada halaman yang sedang anda lihat adalah halaman yang dihiasi selain halaman satu. Posting dan halaman dihiasi apabila anda menggunakan quicktag halaman seterusnya dalam kandungan anda untuk memecah posting besar.
  • is_trackback () – Memeriksa sama ada trackback digunakan.
  • is_admin () – Memeriksa sama ada pengguna log masuk ke kawasan pentadbir. Ia tidak digunakan untuk memeriksa sama ada pengguna mempunyai hak pentadbir, hanya sama ada pengguna log masuk ke papan pemuka WordPress.
  • is_page_template () – Memeriksa sama ada halaman yang dilihat menggunakan templat halaman. Templat halaman tertentu dapat ditentukan, jika perlu.
  • is_preview () – Memeriksa sama ada entri blog dilihat dalam mod draf.
  • has_excerpt () – Memeriksa sama ada siaran semasa mempunyai petikan. Catatan khusus dapat ditentukan.
  • has_nav_menu () – Memeriksa sama ada lokasi menu mempunyai menu yang ditetapkan. Ini digunakan oleh pembangun tema untuk menunjukkan sesuatu sekiranya pengguna belum menambahkan menu.
  • dalam_the_loop () – Memeriksa sama ada pemanggil masih dalam gelung WordPress.
  • is_active_sidebar ($ indeks) – Memeriksa apakah bar sisi tertentu sedang digunakan.
  • is_multisite () – Memeriksa jika multisite disokong.
  • is_main_site () – Memeriksa apakah multisite adalah laman utama dalam rangkaian.
  • is_super_admin () – Memeriksa sama ada pengguna adalah pentadbir super dalam rangkaian.
  • is_plugin_active ($ plugin) – Memeriksa sama ada pemalam diaktifkan.
  • is_child_theme () – Memeriksa apakah tema kanak-kanak sedang digunakan.
  • support_theme_theme (ciri $) – Memeriksa apakah tema menyokong ciri tertentu seperti format pos atau gambar yang dipaparkan.

Periksa juga: Cara Menghapus Taksonomi Lalai.

Tanda bersyarat adalah konsep WordPress yang penting. Kerana sangat berguna, terdapat sedikit tema WordPress yang direka tanpa mereka. Sebaik sahaja anda memahami pernyataan lain, pernyataan lain dan pengendali logik seperti AND, OR dan Not; anda akan dapat mengatasi sebarang fungsi bersyarat.

Saya harap panduan ini membantu anda belajar bagaimana menggunakan tag bersyarat WordPress dalam tema anda.

Sekiranya anda menyukai artikel ini, maka sertai ThemeLab di Twitter.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map