web-dev-qa-db-fra.com

Quand utiliser is_home () vs is_front_page ()?

J'ai constaté que is_front_page semble retourner vrai lorsque je consulte la page d'accueil et qu'un seul post collant y est affecté.

Il renvoie également true lorsque j'ai attribué une page comme page de couverture statique via Paramètres> Lecture .

Pourquoi voudrais-je jamais utiliser is_home()?

63
N2Mystic

is_front_page() renvoie true si l'utilisateur se trouve sur la page ou la page de messages définie sur la page d'accueil sur Paramètres-> Lecture-> Votre page d'accueil s'affiche

Donc, si vous définissez about us comme page de couverture, cette condition ne sera vraie que si vous affichez la page à propos de nous .

is_home() renvoie true lorsque vous vous trouvez sur la page de liste des articles, il s’agit généralement de la page qui affiche les 10 derniers articles.

Si les paramètres sous Votre page d'accueil affiche sont laissés par défaut, la page d'accueil retournera la valeur true pour les fonctions is_front_page() et is_home().

Un exemple d'utilisation de is_home():

  • Vous avez défini la page de vos messages sur une page appelée News .
  • Un utilisateur navigue à cet endroit et dans l'en-tête vous souhaitez afficher une navigation supplémentaire.
  • Vous pouvez utiliser is_home() pour le faire.
62
Brady

J'ai découvert que is_home() et is_front_page() n'offraient pas les résultats attendus pour les sites multiples. Ma solution de contournement utilisant des goodies intégrés dans PHP:

if($_SERVER['REQUEST_URI'] == '/') {
    // you must be on the home page
}

Comme indiqué dans les commentaires, cette approche utilisera pas des instances pour WP installées dans des sous-répertoires de la racine Web. Utilisez à votre discrétion.

3
Dylan Pierce

Vous voudriez utiliser is_home() pour vérifier si l'utilisateur visualise votre liste d'articles du blog (généralement configuré pour afficher 10 articles par page). Si vous avez un fichier home.php dans votre thème, celui-ci sera affiché lorsque la condition is_home() est vraie.

Les éléments suivants peuvent éventuellement supprimer une certaine confusion: lorsque les conditions is_front_page() et is_home(), les deux sont vraies, le modèle front-page.php sera utilisé à la place de home.php.

1
Momekh