Pagina principale di WordPress e home page
WordPress è un CMS formidabile. Puoi fare quello che vuoi con esso. A volte, però, potresti riscontrare problemi con alcune funzioni di base. Ad esempio, probabilmente stai utilizzando il condizionale is_front_page e is_home sulla home page di WordPress nei tuoi temi e plugin (puoi scoprire di più sulle funzioni condizionali nel nostro post sui tag condizionali). Ma stai sbagliando!
Impostazioni della home page
Con queste funzioni condizionali, puoi verificare se la home page viene visualizzata (is_home) o se la home page utilizza una pagina statica (is_front_page). Puoi definire tale comportamento in Impostazioni=> Lettura.
Nel tuo plugin o tema, puoi utilizzare queste funzioni per visualizzare o modificare i contenuti in base alle impostazioni dell'utente. Ma stai commettendo un errore enorme: non stai tenendo conto della pagina statica del blog. Quando definisci una pagina statica per la tua home page, puoi anche definire una pagina blog: sostituirà la home page predefinita di WordPress per elencare tutti i post.
La lunga storia in breve: is_front_page dovrebbe sempre essere testato con e prima di is_home. Ed ecco perché.
Come funziona
1. Impostazioni normali:
La home page predefinita di WordPress elenca i tuoi ultimi post.
- Ecco l'URL: sito web.com
- è_casa restituisce VERO
- is_front_page restituisce TRUE
Qui non c'è alcun problema.
2. Home page statica:
La home page utilizza una delle tue pagine statiche.
- L'URL è ancora website.com
- è_casa restituisce FALSO
- is_front_page restituisce TRUE
Non ci sono problemi con la tua home page statica: is_front_page restituisce true.
3. Pagina blog statica
Una delle tue pagine elenca tutti i tuoi post.
- L'URL è sito web.com/nomepagina
- è_casa: VERO
- is_front_page: FALSO
Qui potresti avere qualche problema: is_home restituisce TRUE, ma questa non è la tua home page: è una pagina WordPress che elenca tutti i post, come farebbe un archivio di categorie principali.
Utilizza tag condizionali
Quando crei un plugin o un tema, devi considerare che gli utenti potrebbero utilizzare quelle impostazioni della pagina. Quindi, ogni volta che usi is_home, dovresti sempre testare is_front_page prima e dovresti sempre utilizzare parametri condizionali per farlo.
In caso contrario, potresti avere problemi con alcuni utenti. Ad esempio, se provi solo is_home per visualizzare il contenuto della tua home page, si verificheranno problemi con la home page statica che non visualizzerà il contenuto corretto.
Ecco come farlo nel modo giusto:
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
}Questo è l'unico modo (giusto) per visualizzare o modificare i contenuti della tua home page e della pagina del tuo blog.
Importante: tieni presente che queste funzioni funzionano solo una volta caricato WordPress, ad esempio su file modello o hook di azioni specifici. Non puoi semplicemente scaricare questi condizionali in Functions.php e aspettarti che funzionino.
E tu?
Hai già riscontrato questo problema? Qual è stata la tua soluzione? Voglio sentirlo!
