WordPress Ön Sayfası ve Ana Sayfa
WordPress harika bir CMS'dir. Onunla ne istersen yapabilirsin. Ancak bazen bazı temel işlevlerde sorunla karşılaşabilirsiniz. Örneğin, muhtemelen temalarınızda ve eklentilerinizde is_front_page ve is_home WordPress Ana Sayfasını koşullu olarak kullanıyorsunuzdur (Koşullu Etiketler yayınımızda koşullu işlevler hakkında daha fazla bilgi edinebilirsiniz). Ama yanlış yapıyorsun!
Ana Sayfa Ayarları
Bu koşullu işlevlerle, ana sayfanın görüntülenip görüntülenmediğini (is_home) veya ana sayfanın statik bir sayfa kullanıp kullanmadığını (is_front_page) kontrol edebilirsiniz. Bu tür davranışları Ayarlar=> Okuma'da tanımlayabilirsiniz.
Eklentinizde veya temanızda, kullanıcı ayarlarına bağlı olarak içerikleri görüntülemek veya değiştirmek için bu işlevleri kullanabilirsiniz. Ancak çok büyük bir hata yapıyorsunuz: Statik blog sayfasını hesaba katmıyorsunuz. Ana sayfanız için statik bir sayfa tanımladığınızda, bir blog sayfası da tanımlayabilirsiniz: her yazının listelenmesi için varsayılan WordPress ana sayfasının yerini alacaktır.
Uzun lafın kısası: is_front_page her zaman is_home ile birlikte ve öncesinde test edilmelidir. İşte nedeni.
Nasıl çalışır
1. Normal ayarlar:
Varsayılan WordPress ana sayfası en son gönderilerinizi listeler.
- İşte URL: website.com
- is_home DOĞRU değerini döndürür
- is_front_page DOĞRU değerini döndürür
Burada herhangi bir sorun yok.
2. Statik ana sayfa:
Ana sayfa statik sayfalarınızdan birini kullanıyor.
- URL hâlâ website.com'dur
- is_home YANLIŞ değerini döndürür
- is_front_page DOĞRU değerini döndürür
Statik ana sayfanızda herhangi bir sorun yok: is_front_page true değerini döndürüyor.
3. Statik blog sayfası
Sayfalarınızdan biri tüm yayınlarınızı listeliyor.
- URL, website.com/pagename'dir
- is_home : DOĞRU
- is_front_page : YANLIŞ
Burada bazı sorunlar yaşayabilirsiniz: is_home DOĞRU döndürüyor, ancak bu sizin ana sayfanız değil: ana kategori arşivinin yapacağı gibi her gönderiyi listeleyen bir WordPress sayfasıdır.
Koşullu Etiketleri Kullan
Bir eklenti veya tema oluşturduğunuzda kullanıcıların bu sayfa ayarlarını kullanabileceğini göz önünde bulundurmalısınız. Bu nedenle, is_home'u her kullandığınızda, her zaman önce is_front_page'i test etmelisiniz ve bunu yapmak için her zaman koşullu parametreleri kullanmalısınız.
Aksi takdirde bazı kullanıcılarla sorun yaşayabilirsiniz. Örneğin, is_home'u yalnızca ana sayfa içeriğinizi görüntülemek için test ederseniz, statik ana sayfada doğru içeriği görüntülemeyecek sorunlar olacaktır.
İşte bunu nasıl doğru yapacağınız:
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
}Bu, ana sayfanızdaki ve blog sayfanızdaki içeriği görüntülemenin veya değiştirmenin tek (doğru) yoludur.
Önemli: Lütfen bu işlevlerin yalnızca şablon dosyaları veya belirli eylem kancaları gibi WordPress yüklendikten sonra çalıştığını unutmayın. Bu koşulları öylece işlevler.php'ye atıp onların çalışmasını bekleyemezsiniz.
Peki ya sen?
Bu sorunla zaten karşılaştınız mı? Çözümünüz neydi? Bunu duymak istiyorum!
