Pour une raison quelconque, is_front_page
n'est pas déclenché sur mon sous-site, vous exécutez un thème enfant avec son propre en-tête avec une page définie en tant que page d'accueil statique sous Lecture.
J'ai ce code dans header.php
pour contrôler les métatags à afficher sur un article/une page ou sur la page d'accueil, mais seul le is_single
/is_page
est imprimé.
<?php if (is_single() || is_page()) : if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<!-- this is printed -->
<?php endwhile; endif; elseif(is_home() || is_front_page()) : ?>
<!--this is not printed -->
<?php endif; ?>
Je me demandais si les is_page
et is_front_page
s'annulaient puisqu'ils sont tous les deux vrais lors de l'utilisation d'une page de garde statique?
En effet, si votre site comporte une page statique au recto, la condition is_page
sera vraie et WP n'atteindra jamais la elseif
.
Si vous souhaitez un autre modèle pour votre page d'accueil, vous devez l'exclure de la première condition afin qu'elle renvoie false dans ce cas. Comme ça:
if ((is_single() || is_page()) && !is_front_page())
Vous pouvez également inverser les déclarations: premier test pour home/front et si cela échoue pour single/page.