is_home()
Détermine si la page actuelle est la page qui affiche les articles récents du site (les postes natifs de WordPress).
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()
is_home()
est déclarée dans le fichier wp-includes/query.php
à la ligne 499 :
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();
}
Fonctions utilisées par 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
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