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 appris l'existence de home.php
.
home.php
et le index.php
?home.php
qu'un index.php
?front-page.php
?front-page.php
, quelle tâche spécifique un index.php
est-il en train de faire pour moi?J'ai lu la hiérarchie des modèles du Codex. S'il vous plaît ne mélangez pas ma question avec des modèles de page, je les comprends, alHamduLILLAH.
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 en retour, j’ai pris un temps déraisonnable pour rassembler ma feuille de triche logique en première page pour cela.
Mais comme il s’agit d’un fil de discussion populaire, permettez-moi de répondre à ces questions très spécifiques.
Quelle est la différence entre le
home.php
et leindex.php
?
home.php
est un modèle pour les publications index (archive du type de publication natif, ce qui est un cas particulier dans WP). WP tentera de rechercher 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 un modèle fourre-tout. Il s’agit de choix finaux 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 all d'autres contextes pourraient et utiliseront index.php
.
Quelle est la condition idéale pour utiliser un
home.php
qu'unindex.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 qu'ils ont des modèles plus spécifiques pour tous les cas possibles, de sorte qu'ils ne doivent jamais être utilisés.
Quelle est la condition idéale pour utiliser un
front-page.php
?
front-page.php
est utilisé pour les publications dans 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.
Lorsque j'utilise un
front-page.php
, quelle tâche spécifique unindex.php
est-il en train de faire pour moi?
index.php
est still un modèle capturant 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
.
Le fichier front-page.php
est le modèle page de couverture 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 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, que cet index soit affiché sur la page d'accueil du site ou sur une autre page.
Dans les cas où front-page.php
et home.hpp
existent, et que get_option( 'show_on_front' )
est défini sur posts
(c'est-à-dire que la page d'accueil du site affiche l'index des articles de blog), le fichier front-page.php
a priorité 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 Template . 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
'page' == get_option( 'show_on_front' )
: hiérarchie de pages'posts' == get_option( 'show_on_front' )
: hiérarchie des publications sur le blogLa hiérarchie des modèles pour index des articles de blog est la suivante:
home.php
index.php
La hiérarchie des modèles pour pages est la suivante:
page-{slug}.php
page-{id}.php
page.php
index.php
Tout cela provient d'une lecture approfondie de Hiérarchie des modèles .
home.php
est utilisé si:
http://example.com/blog/
).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:
http://example.com/
), etfront-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é.
Si vous souhaitez personnaliser votre liste de publications, utilisez home.php
.
Si vous souhaitez personnaliser votre page d’accueil statique, utilisez front-page.php
.
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 destinationindex.php
universelLe 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 les manquants archive.php
ou single.php
et ainsi de suite.
front-page.php
VS home.php
Maintenant, la différence entre les modèles front-page.php
et home.php
réside dans le fait 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é à héberger la section Blog .
Le modèle front-page.php
, s'il est présent, sera utilisé pour la page de couverture principale du site (par exemple, http://www.example.com/
). Si non présent, alors home.php
sera utilisé à la place. Si les fichiers de modèle front-page.php
et home.php
sont manquants, le modèle de remplacement index.php
sera utilisé.
WordPress vous permet d’avoir une page "Blog" (qui listera les publications récentes) sur un page différente que 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é.
Pour configurer le contenu à afficher sur votre page d'accueil, accédez à Administrateur WordPress , sous Outils> Lecture , vous pouvez configurer le " Affichages page d'accueil " pour afficher un affichage statique. page, 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
):
tiré de 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 les derniers articles de votre blog. Cette page s'appelle l'index des articles de blog. Vous pouvez également définir les articles de votre blog pour qu'ils s'affichent sur une page statique distincte. Le fichier de modèle home.php est utilisé pour afficher l’index des articles de blog, qu’il soit utilisé comme page de couverture ou sur une page statique distincte. Si home.php n'existe pas, WordPress utilisera index.php.
- home.php
- index.php
Remarque: Si front-page.php existe, il remplacera le modèle home.php.
Affichage de la page avant
Le fichier de modèle front-page.php est utilisé pour afficher la page de couverture de votre site, que cette dernière 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 les fichiers home.php ou page.php en fonction de la configuration dans Paramètres → Lecture. Si aucun de ces fichiers n'existe, il utilisera le fichier index.php.
1. front-page.php - Utilisé à la fois pour "vos derniers messages" ou "une page statique", comme défini dans la section des écrans de première page de Paramètres → Lecture.
2. home.php - Si WordPress ne parvient pas à trouver front-page.php et que "vos derniers messages" est défini dans la section des écrans de première page, il recherchera home.php. En outre, WordPress recherchera ce fichier lorsque la page d'articles sera définie dans la section des écrans de première page.
3. page.php - Lorsque “page avant” est défini dans la section des écrans de page d'accueil.
4. index.php - Lorsque "vos derniers messages" est défini dans la section des écrans de page d'accueil, mais que home.php n'existe pas ou lorsque page de garde est définie, mais que page.php n'existe pas.
Comme vous pouvez le constater, de nombreuses règles définissent le chemin emprunté par WordPress. Utiliser le tableau ci-dessus est le meilleur moyen de déterminer ce que WordPress affichera.
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.