Saya benar-benar bingung dengan index.php
, home.php
dan front-page.php
. Dalam banyak kasus meskipun saya punya index.php
, saya menimpanya front-page.php
. Namun baru-baru ini, saya menjadi sadar home.php
.
- Apa perbedaan antara
home.php
danindex.php
? - Apa kondisi ideal untuk digunakan
home.php
daripadaindex.php
? - Apa kondisi ideal untuk digunakan
front-page.php
? - Ketika saya menggunakan
front-page.php
tugas spesifik apa yangindex.php
sedang saya lakukan?
Saya sudah membaca Templat Hierarki di Codex. Tolong jangan gabungkan pertanyaan saya dengan Halaman Template, saya mengerti mereka, alHamduLILLAH.
template-hierarchy
Mayeenul Islam
sumber
sumber
Jawaban:
Logika halaman depan adalah salah satu fitur yang paling membingungkan di WordPress dan sangat sulit untuk dijelaskan dan diringkas. Seperti yang disebutkan dalam komentar saat kembali, saya membakar jumlah waktu yang tidak suci untuk mengumpulkan lembar contekan logika halaman depan saya untuk itu.
Tetapi karena ini adalah utas populer, izinkan saya mencoba menjawab pertanyaan-pertanyaan spesifik yang Anda miliki.
home.php
adalah templat untuk indeks posting (arsip jenis posting asli, yang merupakan kasus khusus di WP). WP akan berusaha mencarinya untuk indeks posting, apakah itu ditampilkan di root situs atau di halaman posting khusus.index.php
adalah catch – all templat. Ini adalah pilihan terakhir di semua cabang hierarki templat dan akan dipilih bila tidak ada yang cocok, untuk arsip dan tampilan tunggal.Hanya indeks posting yang dapat digunakan
home.php
, tetapi semua konteks lain mungkin dan akan menggunakanindex.php
.Anda gunakan
home.php
untuk menyesuaikan indeks posting.Anda menggunakan
index.php
untuk menyediakan template paling umum dalam tema Anda, cocok untuk tampilan apa pun.Beberapa tema memilih untuk mengosongkan
index.php
dan memastikan mereka memiliki templat yang lebih spesifik untuk semua kasus yang mungkin, sehingga tidak perlu digunakan.front-page.php
digunakan untuk indeks posting di halaman depan root atau statis, jika diaktifkan.Ini adalah template prioritas tinggi, jadi jika tema memilikinya, Anda tidak dapat memilih template sewenang-wenang untuk halaman depan statis. Untuk alasan ini hampir tidak pernah dimasukkan dalam tema yang dirilis untuk umum (yang benar).
Penggunaan terbaik untuk itu adalah dalam proyek-proyek swasta, karena lebih mudah untuk mengkonfigurasi daripada templat halaman.
index.php
adalah masih menangkap semua template untuk semua kasus lainnya.Jika Anda menggunakan halaman depan statis (yang
front-page.php
akan berlaku), maka halaman posting Anda akan mencoba untuk menggunakanhome.php
dan kemudianindex.php
.sumber
The
front-page.php
berkas adalah halaman depan situs Template. Itu akan selalu digunakan di halaman depan situs Anda, terlepas dari apakahget_option( 'show_on_front' )
diatur kepage
atauposts
.File
home.php
template adalah template indeks posting blog . Itu akan selalu digunakan untuk menampilkan indeks posting blog Anda, terlepas dari apakah indeks posting blog ditampilkan di halaman depan situs, atau pada halaman yang berbeda.Dalam hal keduanya
front-page.php
danhome.hpp
ada, danget_option( 'show_on_front' )
diatur keposts
(yaitu, halaman depan situs menampilkan indeks posting blog),front-page.php
file akan diutamakan di atashome.php
file.The
index.php
berkas adalah fallback template default untuk semua konteks dalam Template Hierarchy . Ini hanya pernah digunakan jika file template yang lebih spesifik tidak ada untuk konteks saat ini.Hirarki templat untuk halaman depan situs adalah:
front-page.php
'page' == get_option( 'show_on_front' )
: hierarki halaman'posts' == get_option( 'show_on_front' )
: posting blog hierarki indeksHirarki templat untuk indeks posting blog adalah:
home.php
index.php
Hirarki templat untuk halaman adalah:
page-{slug}.php
page-{id}.php
page.php
index.php
sumber
my-template-1
template ketika halaman depan diatur ke posting terbaru dan digunakanmy-template-2
ketika bagian depan diatur ke halaman statis (tanpa coding)?Semua ini berasal dari pembacaan menyeluruh Hirarki Templat .
home.php
digunakan jika:http://example.com/blog/
)home.php
fileJika kondisi terakhir tidak terpenuhi - yaitu, tidak ada
home.php
file dalam tema - makaindex.php
akan dimuat.front-page.php
akan digunakan jika:http://example.com/
), danfront-page.php
fileJika kondisi terakhir tidak terpenuhi - yaitu, tidak ada
front-page.php
file dalam tema - makaindex.php
akan dimuat.Singkatnya
Jika Anda ingin menyesuaikan daftar posting Anda, gunakan
home.php
.Jika Anda ingin menyesuaikan beranda statis Anda, gunakan
front-page.php
.sumber
home.php
akan digunakan untuk indeks posting blog, terlepas dari lokasi. Jika halaman depan diatur untuk menampilkan indeks posting blog, makahome.php
akan digunakan (jikafront-page.php
tidak ada).Pendeknya:
index.php
adalah templat fallback saja, jika tidak ada templat yang sesuai ditemukanhome.php
digunakan untuk blog (daftar posting terbaru)front-page.php
digunakan untuk halaman arahanindex.php
Template universalFile
index.php
template adalah template fallback. Ini digunakan sebagai upaya terakhir ketika tidak ada template lain yang lebih sesuai tersedia. Misalnya, jika Anda tidak memilikifront-page.php
atauhome.php
makaindex.php
akan digunakan. Ini juga berlaku untuk hilangarchive.php
atausingle.php
dan seterusnya.Tentang
front-page.php
VShome.php
Sekarang perbedaan antara
front-page.php
danhome.php
template adalah yangfront-page.php
digunakan, seperti namanya, sebagai halaman depan utama situs, sementarahome.php
dimaksudkan untuk menjadi rumah dari bagian Blog .Template apa yang akan digunakan untuk halaman arahan situs saya?
The
front-page.php
Template, jika ada, akan digunakan untuk halaman depan utama situs (misalnyahttp://www.example.com/
). Jika tidak ada, makahome.php
akan digunakan sebagai gantinya. Jika keduafront-page.php
danhome.php
template yang file yang hilang makaindex.php
cadangan template yang akan digunakan.Template apa yang akan digunakan untuk halaman blog saya?
WordPress memungkinkan Anda untuk memiliki halaman "Blog" (yang akan mencantumkan posting terbaru) pada halaman yang berbeda dari halaman pendaratan (misalnya
http://www.example.com/blog/
). Jadi jika ini yang terjadi di situs Anda, maka halaman Blog akan selalu menggunakanhome.php
templat. Jikahome.php
tidak ada makaindex.php
template fallback akan digunakan.Bagaimana cara mengkonfigurasi halaman arahan dan halaman blog?
Untuk mengonfigurasi konten apa yang ditampilkan di halaman depan Anda, buka Admin WordPress , di bawah Alat> Membaca , di sana Anda dapat mengonfigurasi " Tampilan halaman depan " untuk menampilkan halaman statis, atau posting terbaru Anda.
Jika Anda memilih untuk menampilkan halaman statis di halaman depan, maka Anda juga memiliki kemungkinan untuk mengatur halaman mana yang akan digunakan sebagai pengganti untuk halaman Blog (yang akan menggunakan
home.php
template):sumber
diambil dari hierarki template Wordpress
Bagan hierarki template:
sumber
Saya memutuskan untuk menguji templat mana yang digunakan untuk masing-masing halaman berikut ketika berbagai opsi tampilan halaman depan diatur.
Hasilnya cukup panjang, tetapi bisa digunakan sebagai referensi atau cheat-sheet.
Sumber: Apa perbedaan templat home-page.php dan home.php di WordPress?
Catatan untuk editor: Saya mencoba untuk menyalin dan menempelkan tabel di sini tetapi format markdown diperlukan daripada HTML. Silakan konversi ke penurunan harga jika Anda bisa.
sumber