Halaman Depan WordPress vs Beranda


WordPress adalah CMS yang hebat. Anda dapat melakukan apapun yang Anda inginkan dengannya. Namun terkadang, Anda mungkin menemukan masalah dengan beberapa fungsi dasar. Misalnya, Anda mungkin menggunakan is_front_page dan is_home WordPress Homepage bersyarat dalam tema dan plugin Anda (Anda dapat mempelajari lebih lanjut tentang fungsi bersyarat di postingan Tag Bersyarat kami). Tapi kamu salah melakukannya!

Pengaturan Beranda

Dengan fungsi kondisional tersebut, Anda dapat memeriksa apakah beranda sedang ditampilkan (is_home), atau apakah beranda menggunakan halaman statis (is_front_page). Anda dapat menentukan perilaku tersebut di Pengaturan=> Membaca.

Di plugin atau tema Anda, Anda dapat menggunakan fungsi ini untuk menampilkan atau mengubah konten tergantung pada pengaturan pengguna. Tapi Anda melakukan kesalahan besar: Anda tidak memperhitungkan halaman blog statis. Saat Anda menentukan halaman statis untuk beranda, Anda juga dapat menentukan halaman blog : ini akan menggantikan beranda WordPress default untuk mencantumkan setiap postingan.

Singkat cerita: is_front_page harus selalu diuji dengan dan sebelum is_home. Dan inilah alasannya.

Bagaimana itu bekerja

1. Setelan normal:

Beranda WordPress default mencantumkan postingan terbaru Anda.

  • Ini URL-nya: website.com
  • is_home mengembalikan BENAR
  • is_front_page mengembalikan BENAR

Di sini, tidak ada masalah apa pun.

2. Beranda statis:

Beranda menggunakan salah satu halaman statis Anda.

  • URL-nya masih website.com
  • is_home mengembalikan FALSE
  • is_front_page mengembalikan BENAR

Tidak ada masalah dengan beranda statis Anda: is_front_page mengembalikan nilai true.

3. Halaman blog statis

Salah satu halaman Anda mencantumkan semua posting Anda.

  • URL-nya adalah website.com/pagename
  • is_home : BENAR
  • is_front_page : SALAH

Di sini, Anda mungkin mengalami beberapa masalah : is_home mengembalikan BENAR, namun ini bukan beranda Anda : ini adalah laman WordPress yang mencantumkan setiap kiriman, seperti halnya arsip kategori utama.

Gunakan Tag Bersyarat

Saat Anda membuat plugin atau tema, Anda harus mempertimbangkan bahwa pengguna dapat menggunakan pengaturan halaman tersebut. Jadi, setiap kali Anda menggunakan is_home, Anda harus selalu menguji is_front_page sebelumnya, dan Anda harus selalu menggunakan parameter kondisional untuk melakukannya.

Jika tidak, Anda mungkin mengalami masalah dengan beberapa pengguna. Misalnya, jika Anda hanya menguji is_home untuk menampilkan konten beranda, akan ada masalah dengan beranda statis yang tidak menampilkan konten yang benar.

Inilah cara melakukannya dengan benar:

if ( is_front_page() && is_home() ) {

	// Default homepage ( both the front page and the recent posts page)

} elseif ( is_front_page() ) {

	// Static homepage

} elseif ( is_home() ) {

	// Blog page

} else {

	// Everything else

}

Ini adalah satu-satunya cara (yang benar) untuk menampilkan atau mengubah konten di beranda dan halaman blog Anda.

Penting: Harap dicatat bahwa fungsi-fungsi ini hanya berfungsi setelah WordPress dimuat seperti pada file templat atau kait tindakan tertentu. Anda tidak bisa begitu saja membuang kondisional ini ke dalam function.php dan mengharapkannya berfungsi.

Bagaimana denganmu?

Apakah Anda sudah mengalami masalah ini? Apa solusi Anda? Saya ingin mendengarnya!