if (is_home () &&! is_front_page ())

11

Je vois beaucoup le code suivant dans les fichiers index.php. Je comprends que is_front_page() renvoie true lors de l’affichage de la page d’accueil du site (qu’il affiche l’index des articles de blog ou une page statique), tandis que is_home() renvoie true lors de l’affichage de l’index des articles de blog (qu’il soit affiché sur la page d'accueil ou sur une page statique). page). Je suis encore un peu perplexe sur l'utilisation du code suivant -

        <?php if ( is_home() && ! is_front_page() ) : ?>
            <header>
                <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1>
            </header>
        <?php endif; ?>

Toute explication de la popularité de ce code est grandement appréciée.

    
posée olliew 23.04.2016 - 14:12

3 réponses

9

Ceci affichera le titre de la page lorsqu'une page statique est définie pour afficher les publications.

p. ex.

Je montre les articles sur ma page d'accueil ... Ça ne fera rien.

Si, par exemple, je publie des messages sur la page intitulée Actualités ... Cela affichera les Nouvelles au premier semestre

.

Ceci est utilisé pour que le titre de la page soit affiché, à chaque fois que les articles sont affichés sur une page, mais rien lorsque les articles de blog sont affichés sur la page d'accueil (page d'accueil).

Nous le faisons coz si c'est sur la page d'accueil ... il affichera le titre du premier message en le faisant apparaître deux fois (une fois en haut de H1 et une fois les messages postés en boucle).

    
réponse donnée shramee 23.04.2016 - 15:03
15

Voici comment le faire correctement:

if ( is_front_page() && is_home() ) {
// Default homepage

} elseif ( is_front_page()){
//Static homepage

} elseif ( is_home()){

//Blog page

} else {

//everything else

}

C’est le seul moyen (correct) d’afficher ou de modifier du contenu avec votre page d’accueil et votre page de blog.

    
réponse donnée Md. Abunaser Khan 19.09.2016 - 21:19
4

Je ne suis pas sûr de "populaire", cela ne me semble pas être le cas (mais ensuite, je ne regarde pas autant de thèmes).

Vous semblez bien comprendre ce que fait chaque conditionnel, cela ne devrait donc pas vous dérouter. Cela combine des conditions pour vérifier que l'index de blog est affiché et qu'il ne soit pas en première page.

Ah, je suppose que la raison de single_post_title() est qu'elle affiche le titre de $wp_query->queried object (défini par la requête principale en tant que contexte actuel), plutôt que $post global (défini par une boucle itérative).

Dans certaines circonstances, elles seront identiques, mais pas dans les cas où les vérifications de condition sont effectuées. La boucle contiendra posts , mais l'objet interrogé sera page (sauf si je mélange les éléments:).

    
réponse donnée Rarst 23.04.2016 - 14:32

Lire d'autres questions sur les étiquettes