Le but de ce tutoriel est de vous permettre de créer une page d'accueil statique pour wordpress et d'en comprendre le fonctionnement. Par défaut wordpress montre comme page d'accueil les articles publiés du plus récents au plus ancien. Cependant pour diverses raisons nous pouvons avoir besoin de mettre une page d'accueil statique quitte à mettre les articles sur une autre page. Pour mieux comprendre comment fonctionne wordpress, il est utile de voir la hiérarchie des fichiers modèles. En effet il s'agit de conditions qui renvoient à l'affichage d'une page si elle existe. Si la requête n'existe pas alors wordpress affichera la page index.
En cliquant sur l'image vous pouvez voir l'encadré rouge sur home.php . Voici une traduction: si le fichier home.php existe alors affiche le en priorité en page d'accueil sinon affiche le fichier index.php. Je vous rappelle que le loop pour les articles se fait par défaut dans votre fichier index.php . Donc en créant un fichier homeTemplate.php et en l'insérant dans mon fichier thème wordpress le lira en priorité.
Comment créer la page homeTemplate.php ?
Pour cela ouvrez votre bloc notes, puis enregistrez sous, mettez comme nom :homeTemplate.php . N'oubliez pas de mettre dans type tous les fichiers. Ensuite pour que wordpress le reconnaisse il faudra que votre fichier homeTemplate commence commence de la manière suivante: <?php /* Template Name:homeTemplate */ ?> Attention vous devez enregistrer votre fichier avec le même nom utilisé dans Template Name en l'occurence homeTemplate. L important est que le nom du fichier concorde avec le nom utilisé dans Template Name. Ensuite il faudra mettre le code html que vous aurez choisi au préalable en n'omettant pas de mettre les requête php de l'header, du footer ainsi que le loop. Si vous ne mettez pas de loop votre page ne fonctionnera pas. Les éléments importants seront donc:
- <?php get_header(); ?>
- <?php if(have_posts()) : ?> <?php while(have_posts()) : the_post(); ?>
- <?php get_footer(); ?>
Ou mettre le fichier homeTemplate.php ?
Il faut que vous placiez le fichier homeTemplate.php dans wp-content/themes/themesélectioné. Pour cela vous devrez utiliser un client FTP (filezilla)
Les réglages du Tableau de bord
Dans votre tableau de bord allez dans Réglages >> lecture Comme vous pouvez le voir vous avez la possibilité de choisir pour l'affichage de la page d'accueil les derniers articles ou une page statique. Il faudra bien entendu mettre la seconde option et choisir ensuite la page qui vous servira de page d'accueil et celle qui vous permettra de publier les articles si bien entendu vous désirez en publier . Pour terminer n'oubliez pas d'enregistrer les modifications.
Par la suite il faut créer une nouvelle page Pages>>Ajouter
Appelez la home par exemple. Dans la partie droite de votre page home dans la section attribut >> template si vous cliquez sur la liste déroulante vous allez voir apparaître le fichier homeTemplate que nous avons crée au préalable. Sélectionné le, sauvegarder votre page aller sur la page d'accueil de votre site et vous pourrez voir que wordpress a mis le contenu du fichier homeTemplate.php.
Si vous avez des questions utilisez les commentaires ci-dessous.
3 commentaires »
Flux RSS des commentaires de cet article. Adresse web de rétrolien









Merci pour l’aide précieuse que vous nous apporter pour comprendre au mieux WP.
Mon problème est le suivant :
Code du fichier homeTemplate.php dans wp-content/themes/themesélectioné:
Résultat:
L’expression « homeTemplate » apparaît dans le champs « attribut » mais quand je donne cet attribut à la page statique que je veux créer, j’obtiens à l’affichage de cette dernière cette mention: » Parse error: syntax error, unexpected $end in /home/reussite/domains/votre-reussite.net/public_html/objectif-reussite/wp-content/themes/bizgreen4/homeTemplate.php on line 4″
Aide: je vous serais infiniment reconnaissant si vous pouviez m’aider à corriger cette erreur.
Commentaire par Dramane — 23 septembre 2010 @ 16 h 47 min
Bonsoir,
en ce qui me concerne, je n’ai pas d’erreur mais une page blanche.(alors que j’ai bien appelé le header,le footer…?
merci pour votre réponse.
Commentaire par cros — 13 novembre 2010 @ 2 h 43 min
Salut Cros,
difficile de t’aider avec les infos que tu me fournis… Alors j’essaye quand meme…
Dans la déclaration de ton template as-tu mis :
< ?php /* Template Name:nom_du_fichier */ ?>
Tiens moi au courant
Commentaire par Aurélien — 15 novembre 2010 @ 19 h 54 min