Je suis vraiment confus avec index.php
, home.php
et front-page.php
. Dans de nombreux cas, même si j'avais un 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 le
home.php
etindex.php
? - Quelle est la condition idéale pour utiliser un
home.php
qu'unindex.php
? - Quelle est la condition idéale pour utiliser un
front-page.php
? - Quand j'utilise un
front-page.php
alors quelle tâche spécifique unindex.php
fait pour moi alors?
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.
template-hierarchy
Mayeenul Islam
la source
la source
Réponses:
La logique de la page d'accueil 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, à mon retour, j’ai pris un temps déraisonnable pour préparer mon aide-mémoire en première page .
Mais comme il s’agit d’un sujet populaire, permettez-moi de tenter de répondre à ces questions très spécifiques.
home.php
est un gabarit pour posts index (archive de type natif post post, ce qui est un cas particulier dans WP). WP essaiera de le rechercher pour l’index des publications, qu’elles soient affichées à la racine du site ou sur la page des publications dédiées.index.php
est attrape-tout modèle. Il s’agit de 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 posts index peuvent utiliser
home.php
, mais tous les autres contextes peuvent et vont utiliserindex.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 vide
index.php
et de s'assurer qu'ils ont des modèles plus spécifiques pour tous les cas possibles, de sorte qu'ils ne doivent jamais être utilisés.front-page.php
est utilisé pour les publications sur la page d'accueil racine ou statique, si activé.Il s'agit d'un modèle de priorité élevée. Par conséquent, si thème est proposé, vous ne pouvez pas sélectionner de modèle arbitraire pour une page de garde 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.
index.php
est toujours un modèle attrape tout pour tous les autres cas.Si vous utilisez une page d'accueil statique (à laquelle
front-page.php
s'appliquera), votre page de messages tentera de l'utiliserhome.php
, puisindex.php
.la source
Le
front-page.php
fichier est le modèle de page de garde du site . Il sera toujours utilisé sur la page d'accueil de votre site, qu'ilget_option( 'show_on_front' )
soit défini surpage
ouposts
.Le
home.php
fichier de modèle est le modèle d' index des articles de blog . Il sera toujours utilisé pour afficher l'index de vos articles de blog, que cet index soit affiché sur la page d'accueil du site ou sur une autre page.Dans le cas où
front-page.php
ethome.hpp
existe et que l'get_option( 'show_on_front' )
option est définie surposts
(c'est- à -dire que la page d'accueil du site affiche l'index des articles de blog), lefront-page.php
fichier aura priorité sur lehome.php
fichier.Le
index.php
fichier 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 des modèles pour la page d'accueil du site est la suivante:
front-page.php
'page' == get_option( 'show_on_front' )
: hiérarchie des pages'posts' == get_option( 'show_on_front' )
: articles de blog hiérarchie d'indexLa hiérarchie de modèles pour l' index des articles de blog est la suivante:
home.php
index.php
La hiérarchie des modèles de pages est la suivante:
page-{slug}.php
page-{id}.php
page.php
index.php
la source
my-template-1
modèle lorsque la page de couverture est définie sur les dernières publications et d'utilisermy-template-2
lorsque la page de couverture est définie sur une page statique (sans codage)?Tout cela provient d'une lecture approfondie de la hiérarchie des modèles .
home.php
est utilisé si:http://example.com/blog/
).home.php
fichierSi la dernière condition n'est pas remplie, c'est-à-dire qu'il n'y a pas de
home.php
fichier dans le thème, elleindex.php
sera chargée.front-page.php
sera utilisé si:http://example.com/
) Etfront-page.php
fichierSi la dernière condition n'est pas remplie, c'est-à-dire qu'il n'y a pas de
front-page.php
fichier dans le thème, elleindex.php
sera chargée.En résumé
Si vous souhaitez personnaliser votre liste de publications, utilisez
home.php
.Si vous souhaitez personnaliser votre page d'accueil statique, utilisez
front-page.php
.la source
home.php
sera utilisé pour l'index des articles de blog, quel que soit son emplacement. Si la page d'accueil est configurée pour afficher l'index des articles de blog, ilhome.php
sera utilisé (s'ilfront-page.php
n'existe pas).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 (une liste de messages récents)front-page.php
est utilisé pour la page de destinationLe
index.php
gabarit universelLe
index.php
fichier de modèle 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 pas ,front-page.php
nihome.php
alorsindex.php
sera utilisé. Ceci est également vrai pour les manquantsarchive.php
ousingle.php
ainsi de suite.Concernant le
front-page.php
VShome.php
Maintenant, la différence entre les modèles
front-page.php
ethome.php
est quefront-page.php
, comme son nom l'indique, le est utilisé comme page de couverture principale du site, alors qu'ilhome.php
est destiné à héberger la section Blog .Quel modèle sera utilisé pour la page de destination de mon site?
Le
front-page.php
modèle, s'il est présent, sera utilisé pour la page d'accueil principale du site (par exemplehttp://www.example.com/
). S'il n'est pas présent, ilhome.php
sera utilisé à la place. Si les fichiersfront-page.php
et leshome.php
modèles sont manquants, leindex.php
modèle de secours sera utilisé.Quel modèle sera utilisé pour ma page de blog?
WordPress vous permet d’avoir une page "Blog" (qui listera les publications récentes) sur une page différente de celle 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 lehome.php
modèle. S'ilhome.php
n'existe pas, leindex.php
modèle de secours 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 à l' Administrateur WordPress , sous Outils> Lecture , vous pouvez configurer les " Affichages de la page d'accueil " 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
home.php
modèle):la source
tiré de la hiérarchie des modèles Wordpress
Diagramme hiérarchique:
la source
J'ai décidé de tester quel modèle est utilisé pour chacune des pages suivantes lorsque les diverses options d'affichage de page d'accueil sont définies.
Les résultats sont assez longs, mais peuvent être utilisés comme référence ou 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 coller les tableaux ici, mais le format Markdown est requis au lieu de HTML. S'il vous plaît convertir en démarque si vous le pouvez.
la source