Hiérarchie des modèles: confondus avec index.php, front-page.php, home.php

27

Je suis vraiment confus avec index.php , home.php et front-page.php . Dans de nombreux cas, même si j'avais index.php , je l'écrase avec front-page.php . Mais récemment, j'ai pris conscience de home.php .

  • Quelle est la différence entre home.php et index.php ?
  • Quelle est la condition idéale pour utiliser un home.php qu'un index.php ?
  • Quelle est la condition idéale pour utiliser un front-page.php ?
  • Lorsque j'utilise un front-page.php , quelle tâche spécifique est alors effectuée par index.php ?

J'ai lu la Hiérarchie des modèles dans le Codex. S'il vous plaît ne mélangez pas ma question avec des modèles de page, je les comprends, alHamduLILLAH.

    
posée Mayeenul Islam 16.08.2013 - 22:07

6 réponses

22

La logique de page de garde est l’une des fonctionnalités les plus déroutantes de WordPress et est extrêmement difficile à expliquer et à résumer. Comme mentionné dans le commentaire, j’ai consacré beaucoup de temps à préparer ma aide-mémoire sur la logique de la page d'accueil . pour cela.

Mais comme il s'agit d'un fil populaire, laissez-moi essayer de répondre à ces questions très spécifiques.

  

Quelle est la différence entre home.php et index.php ?

home.php est un gabarit pour posts index (archive de type post natif, ce qui est un cas particulier dans WP). WP essaiera de rechercher des index de publications, qu’ils soient affichés à la racine du site ou sur une page dédiée.

index.php est un modèle fourre-tout. Il s’agit des choix définitifs dans toutes les branches de la hiérarchie des modèles et sera sélectionné lorsque rien ne conviendra mieux, à la fois pour les archives et les vues uniques.

Seuls les index de publications peuvent utiliser home.php , mais tous d'autres contextes peuvent et utiliseront index.php .

  

Quelle est la condition idéale pour utiliser un home.php qu'un index.php

Vous utilisez home.php pour personnaliser l'index des publications.

Vous utilisez index.php pour fournir le modèle le plus générique de votre thème, adapté à l'affichage de n'importe quoi.

Certains thèmes choisissent d'avoir index.php vide et s'assurent de disposer de modèles plus spécifiques pour tous les cas possibles, de sorte qu'ils ne soient jamais utilisés.

  

Quelle est la condition idéale pour utiliser un front-page.php ?

front-page.php est utilisé pour l'index des publications sur la page de garde racine ou statique, si activé.

Il s'agit d'un modèle de priorité élevée. Par conséquent, si thème existe, vous ne pouvez pas sélectionner de modèle arbitraire pour la page de couverture statique. Pour cette raison, il n’est presque jamais inclus dans les thèmes publiés (ce qui est correct).

La meilleure utilisation est les projets privés, car il est plus facile à configurer que les modèles de page.

  

Quand j'utilise un front-page.php , quelle tâche spécifique est alors effectuée par index.php ?

index.php est toujours un modèle interceptable pour tous les autres cas.

Si vous utilisez une page de garde statique (à laquelle front-page.php s'appliquera), votre page de messages tentera d'utiliser home.php , puis index.php .

    
réponse donnée Rarst 26.08.2016 - 18:31
21

Le fichier front-page.php est le modèle de la page d'accueil du site . Il sera toujours utilisé sur la page d'accueil de votre site, que get_option( 'show_on_front' ) soit défini sur page ou posts .

Le fichier de modèle home.php est le modèle index des articles de blog . Il sera toujours utilisé pour afficher l'index de vos articles de blog, qu'il soit affiché sur la page d'accueil du site ou sur une autre page.

Si front-page.php et home.hpp existent, et que get_option( 'show_on_front' ) est défini sur posts (la page d'accueil du site affiche l'index des articles de blog), le fichier front-page.php est prioritaire. sur le fichier home.php .

Le fichier index.php est le modèle de secours par défaut pour tous les contextes de la Hiérarchie des modèles . Il n'est utilisé que si un fichier modèle plus spécifique n'existe pas pour le contexte actuel.

La hiérarchie de modèles pour la page d'accueil du site est la suivante:

.
  • front-page.php
  • Si 'page' == get_option( 'show_on_front' ) : hiérarchie de pages
  • Si 'posts' == get_option( 'show_on_front' ) : hiérarchie d'index des publications de blog

La hiérarchie des modèles pour l'index des articles de blog est la suivante:

.
  • home.php
  • index.php

La hiérarchie de modèles pour les pages est la suivante:

  • Modèle de page personnalisé
  • page-{slug}.php
  • page-{id}.php
  • page.php
  • index.php
réponse donnée Chip Bennett 16.08.2013 - 22:22
16

Tout cela provient d'une lecture approfondie de la hiérarchie des modèles .

home.php est utilisé si:

  • La page d'accueil de votre site est configurée pour afficher une liste de messages ou
  • Et le thème a un fichier home.php

Si la dernière condition n'est pas remplie, c'est-à-dire qu'il n'y a pas de fichier home.php dans le thème, alors index.php sera chargé.

front-page.php sera utilisé si:

  • Une page d'accueil statique est définie et
  • Un visiteur accède à la page que vous avez définie comme étant votre "page d'accueil statique" (c'est-à-dire, http://example.com/ ) et
  • .
  • Le thème a un fichier front-page.php

Si la dernière condition n'est pas remplie, c'est-à-dire qu'il n'y a pas de fichier front-page.php dans le thème, alors index.php sera chargé.

En résumé

Si vous souhaitez personnaliser votre liste d'articles, utilisez home.php .
Si vous souhaitez personnaliser votre page d'accueil statique, utilisez front-page.php .

    
réponse donnée Pat J 16.08.2013 - 22:14
10

En bref:

  • index.php est un modèle de secours uniquement, si aucun modèle approprié n'a été trouvé
  • home.php est utilisé pour le blog (liste de publications récentes)
  • front-page.php est utilisé pour la page d'arrivée

Le modèle universel index.php modèle

Le fichier de modèle index.php est un modèle de secours. Il est utilisé en dernier recours lorsqu'aucun autre modèle plus approprié n'est disponible. Par exemple, si vous n'avez ni front-page.php ni home.php , alors index.php sera utilisé. Ceci est également vrai pour archive.php ou single.php manquant, etc.

.

À propos de front-page.php VS home.php

Maintenant, la différence entre front-page.php et home.php templates est que le front-page.php est utilisé, comme son nom l’indique, comme page de couverture principale du site, alors que home.php est destiné à être la maison de la section Blog .

Quel modèle sera utilisé pour la page de destination de mon site?

Le modèle front-page.php , s'il est présent, sera utilisé pour la page d'accueil principale du site (par exemple, http://www.example.com/ ). S'il n'est pas présent, alors home.php sera utilisé à la place. Si les fichiers de modèle front-page.php et home.php manquent, le modèle de remplacement index.php sera utilisé.

Quel modèle sera utilisé pour ma page de blog?

WordPress vous permet d’avoir une page "Blog" (qui répertorie les publications récentes) sur une page différente de la page de destination (par exemple, http://www.example.com/blog/ ). Donc, si tel est le cas sur votre site, la page Blog utilisera toujours le modèle home.php . Si home.php n’existe pas, le modèle de remplacement index.php sera utilisé.

Comment configurer la page de destination et la page de blog?

Pour configurer le contenu à afficher sur votre page d'accueil, accédez à Admin WordPress , sous Outils > En lisant , vous pouvez configurer les " Affichages de la page de couverture " pour afficher une page statique ou vos derniers messages.

Si vous choisissez d'afficher une page statique sur la page d'accueil, vous avez également la possibilité de définir quelle page utiliser comme espace réservé pour la page Blog (qui utilisera le modèle home.php ):

    
réponse donnée asked Feb 12 '12 21.08.2013 - 09:18
3

tiré de la hiérarchie de modèles Wordpress

  

Affichage de la page d'accueil

     

Par défaut, WordPress définit la page d’accueil de votre site pour afficher vos   derniers articles de blog. Cette page s'appelle l'index des articles de blog. Vous pouvez   paramétrez également vos articles de blog pour qu'ils s'affichent sur une page statique distincte. le   Le fichier de modèle home.php est utilisé pour rendre l’index des articles de blog, que ce soit ou non.   il est utilisé comme page de couverture ou sur une page statique séparée. Si   home.php n'existe pas, WordPress utilisera index.php.

     
  1. home.php
  2.   
  3. index.php
  4.   
    

Remarque: Si front-page.php existe, il remplacera le modèle home.php.

  
     

Affichage de la page d'accueil

     

Le fichier de modèle front-page.php est utilisé pour rendre le devant de votre site.   page d'accueil, si la page d'accueil affiche l'index des articles de blog (mentionné   ci-dessus) ou une page statique. Le modèle de page de couverture a priorité sur   le modèle d'index des articles de blog (home.php). Si le fichier front-page.php   n'existe pas, WordPress utilisera soit le fichier home.php, soit le fichier page.php   fichiers en fonction de la configuration dans Réglages → Lecture. Si aucun des   ces fichiers existent, il utilisera le fichier index.php.

     

1. front-page.php - Utilisé à la fois pour "vos derniers messages" ou "une page statique"   comme indiqué dans la section des écrans de première page de la section Paramètres → Lecture.

     

2. home.php - Si WordPress ne parvient pas à trouver front-page.php et «votre dernier   posts ”est défini dans la section des écrans de première page, il recherchera   home.php. En outre, WordPress recherchera ce fichier lorsque le   la page des messages est définie dans la section des écrans de première page.

     

3. page.php - Quand   «Page de couverture» est défini dans la section des écrans de page de couverture.

     

4. index.php -   Lorsque «vos derniers messages» est défini dans la section des écrans de première page, mais   home.php n’existe pas ou lorsque la page de couverture est définie mais que page.php   pas exister.

     

Comme vous pouvez le voir, il y a beaucoup de règles pour choisir le chemin   WordPress prend. Utiliser le tableau ci-dessus est le meilleur moyen de déterminer   ce que WordPress affichera.

Diagramme hiérarchique des modèles:

    
réponse donnée samix73 07.11.2015 - 21:39
2

J'ai décidé de tester quel modèle est utilisé pour chacune des pages suivantes lorsque les diverses options d'affichage des pages d'accueil sont définies.

  • exemple.net
  • exemple.net/home /
  • exemple.net/blog /

Les résultats sont assez longs, mais peuvent être utilisés comme référence ou comme aide-mémoire.

Source: En quoi les modèles front-page.php et home.php diffèrent-ils dans WordPress?

Note à l'éditeur: J'ai essayé de copier et de coller les tableaux ici, mais le format de démarquage est requis au lieu de HTML. Veuillez convertir en démarque si vous le pouvez.

    
réponse donnée henrywright 25.04.2017 - 03:26

Lire d'autres questions sur les étiquettes