WordPress est un CMS formidable. Vous pouvez faire ce que vous voulez avec. Mais parfois, vous pouvez rencontrer un problème avec certaines fonctions de base. Par exemple, vous utilisez probablement le is_front_page et is_home WordPress Homepage conditionnel dans vos thèmes et plugins (vous pouvez en savoir plus sur les fonctions conditionnelles dans notre article sur les balises conditionnelles). Mais vous vous trompez !
Paramètres de la page d’accueil
Avec ces fonctions conditionnelles, vous pouvez vérifier si la page d’accueil est affichée (is_home), ou si la page d’accueil utilise une page statique (is_front_page). Vous pouvez définir un tel comportement dans Réglages=> En train de lire.
Dans votre plugin ou thème, vous pouvez utiliser ces fonctions pour afficher ou modifier le contenu en fonction des paramètres de l’utilisateur. Mais vous faites une énorme erreur : vous ne tenez pas compte de la page de blog statique. Lorsque vous définissez une page statique pour votre page d’accueil, vous pouvez également définir une page de blog : elle remplacera la page d’accueil par défaut de WordPress afin de lister chaque article.
Longue histoire faite courte : is_front_page doit toujours être testé avec et avant is_home. Et voici pourquoi.
Comment ça fonctionne
1. Paramètres normaux :
La page d’accueil par défaut de WordPress répertorie vos derniers articles.
- Voici l’URL : website.com
- is_home renvoie VRAI
- is_front_page renvoie VRAI
Ici, il n’y a pas de problème.
2. Page d’accueil statique :
La page d’accueil utilise l’une de vos pages statiques.
- L’URL est toujours website.com
- is_home renvoie FALSE
- is_front_page renvoie VRAI
Il n’y a aucun problème avec votre page d’accueil statique : is_front_page renvoie vrai.
3. Page de blog statique
L’une de vos pages répertorie tous vos messages.
- L’URL est website.com/pagename
- is_home : VRAI
- is_front_page : FAUX
Ici, vous pouvez avoir quelques problèmes : is_home renvoie VRAI, mais ce n’est pas votre page d’accueil : c’est une page WordPress qui répertorie chaque article, comme le ferait une archive de catégorie principale.
Utiliser des balises conditionnelles
Lorsque vous créez un plugin ou un thème, vous devez tenir compte du fait que les utilisateurs peuvent utiliser ces paramètres de page. Ainsi, chaque fois que vous utilisez is_home, tu devrais toujours tester is_front_page avant, et vous devez toujours utiliser des paramètres conditionnels pour le faire.
Si vous ne le faites pas, vous pourriez avoir des problèmes avec certains utilisateurs. Par exemple, si vous testez uniquement is_home pour afficher le contenu de votre page d’accueil, il y aura des problèmes avec la page d’accueil statique qui n’affichera pas le bon contenu.
Voici comment le faire correctement :
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
}
C’est la seule (bonne) façon d’afficher ou de modifier le contenu de votre page d’accueil et de votre page de blog.
Important: Veuillez noter que ces fonctions ne fonctionnent qu’une fois WordPress chargé, par exemple sur des fichiers modèles ou des crochets d’action spécifiques. Vous ne pouvez pas simplement vider ces conditions dans functions.php et vous attendre à ce qu’elles fonctionnent.
Et toi?
Avez-vous déjà rencontré ce problème ? Quelle a été ta solution ? Je veux en entendre parler !