Description / Informations supplémentaires

La fonction is_home() dépend des options présentes sur la page d'administration Réglages de votre site WordPress : Réglages -> Lecture -> La page d’accueil affiche.

Cette fonction retournera true si vous vous trouvez sur la page des articles, seulement si :

  • vous avez coché Les derniers articles,
  • ou si vous avez coché Une page statique et que vous avez choisi une page pour l'option Page des articles.

Pour plus d'informations sur cette fonction ou d'autres similaires, voir l'article Conditional Tags sur le Manuel du développeur de thème.

Utilisation

Attention, ne pas confondre les fonctions is_home() et is_front_page(). Les valeurs true ou false que ces fonctions vont renvoyer, dépendent des valeurs de 3 options :

  • get_option( 'show_on_front' ) : renvoie 'posts' ou 'page' ;
  • get_option( 'page_on_front' ) : renvoie l'id de la page statique attribuée à la page d'accueil ;
  • get_option( 'page_for_posts' ) : renvoie l'id de la page statique attribuée à la page des articles.

Quand utiliser ces conditions de requête :

  • Si get_option( 'show_on_front' ) = 'posts' (si vous avez coché Les derniers articles) :

    • Sur la page d'accueil :

      • is_front_page() retournera true ;
      • is_home() retournera true.
    • Dans ce cas WordPress ignore les pages statiques attribuées à la page d'accueil ou à la page des articles.
  • Si get_option( 'show_on_front' ) = 'page' (si vous avez coché Une page statique) :

    • Sur la page statique attribuée à la page d'accueil :

      • is_front_page() retournera true ;
      • is_home() retournera false.
    • Sur la page statique attribuée à la page des articles :

      • is_front_page() retournera false ;
      • is_home() retournera true.

Note : La fonction is_home() utilise la variable global $wp_query instanciée par la classe WP_Query{}. La fonction n'est pas utilisable avant l'action 'parse_query' de la classe.

Retourne

(bool) true si la requête est pour la homepage du blog.

Déclaration et structure de la fonction is_home()

function is_home() {
    global $wp_query;

    if ( ! isset( $wp_query ) ) {
        _doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
        return false;
    }

    return $wp_query->is_home();
}
__()

Retourne la traduction d'un texte.

_doing_it_wrong()

Marque quelque chose comme étant incorrectement appelée.

Où est utilisée la fonction is_home() dans le CMS WordPress

Exemple

Montrer une sidebar différente en fonction de la page actuelle :
if ( is_home() ) {
    get_sidebar( 'blog' );
} else {
    get_sidebar();
}

Sources

Codex WordPress : is_home()

Autres fonctions dans le même fichier : wp-includes/query.php

Retour