web-dev-qa-db-fra.com

le modèle index.php est utilisé à la place de la page de blog

J'essaie de définir WordPress pour que la page d'accueil soit statique et que la page de blog soit une page distincte. J'ai donc créé deux modèles de page dans mon thème. Appelons-les home_template et blog_template .

Ensuite, j'ai créé deux pages WordPress (à partir de Pages -> Ajouter un nouveau). La première page s'appelle Home, et utilise home_template ; et le second s'appelle Blog et utilise blog_template .

Ensuite, je suis allé dans Paramètres -> Paramètres de lecture, et j'ai choisi Front Page Affiche une page statique . Et dans les deux menus déroulants qui suivent, j'ai choisi Accueil pour Front Page , et sélectionné Blog pour Posts Page .

Ensuite, je suis allé à Apparence -> Menu, et j'ai ajouté la page Blog comme élément de menu.

Maintenant, quand je vais voir mon site, la page d'accueil est Nice and dandy. Cependant, lorsque je clique sur l'élément de menu de la page de blog, je constate que la page de blog utilise index.php pour afficher son contenu, elle n'utilise pas la page blog_template pour afficher le contenu.

Comment puis-je m'assurer que la page blog_template est utilisée? S'il vous plaît aider et merci.

1
Greeso

Lorsque vous faites d'une page la page pour les articles, ce n'est plus une "page" au sens conventionnel. Reportez-vous à Hiérarchie des modèles pour l'affichage de la page d'accueil - la solution la plus rapide consiste à renommer votre modèle de blog home.php et WordPress le chargera avant le index.php.

3
Milo

Avez-vous un fichier archive.php dans vos fichiers de thème? Cela devrait être le premier fichier qui est rendu lors de l'affichage de la page des messages. S'il ne s'y trouve pas, le fichier index.php est utilisé par défaut. Je suggérerais de renommer votre fichier blog_template en 'archive.php' si vous n'avez pas de page d'archive, ou mieux encore, remplacez-le par 'archive-post.php' et voyez s'il est correctement rendu.

Si vous le codez dans votre fichier blog_template pour extraire les articles du blog et le mettre en forme comme vous le souhaitez, je dirais que dans les paramètres, ne définissez rien pour la page des articles. Ainsi, lorsque vous accédez à votre page "blog", le système utilisera le blog_template pour afficher la vue.

Cette route signifie que le fichier de modèle devra exécuter la requête pour toutes les publications, car lors du chargement de la page, la requête d'objet global aura uniquement cette page.

0
Chris Klongpayabal