Dans la première partie de ce dossier, nous avons donc vu le fichier header.php. Attanquons nous désormais à la page d’accueil du site avec le fichier index.php.
Ce fichier sera donc, par défaut, la page d’accueil de notre site. Nous allons continuer à travailler autour de thème réalisé pour 4h18.com.
Un accueil 100% widgetisé
Comme vous le savez peut-être si vous êtes de fidèles lecteurs (ce dont je ne doute pas un seul instant), j’ai décidé de totalement widgétiser ma page d’accueil.
J’ai donc définis plusieurs zones ou bloc dans les quels je viens placer les divers contenus de la page d’accueil de 4h18. Cette façon de fonctionner me donne énormément de souplesse dans la gestion du contenu de l’accueil du site. Grace à cela, à tout moment, je peux donc modifier la façon dont la page se présente en utilisant la flexibilité des widgets.
C’est très pratique et m’évite de devoir systématiquement replonger dans le code source de la page. En terme de performances pures il n’est pas certains que j’y gagne, mais il n’est pas dit que j’y perde. Dans un cas comme dans l’autre, les appels à la base de données restent assez nombreux.
Les puristes objecterons (à raison) qu’un plugin c’est toujours des lignes codes supplémentaires embarquées là où il n’y en a paas forcément besoin. Soit. Dans le cas de 4h18, je pense que le serveur est suffisamment armé pour encaisser ce léger embonpoint.
La maquette
Pour bien commencer, et conserver un fil conducteur, il nous faut donc passer une maquette de notre page d’accueil. Voici un aperçu de ce que j’avais dans la tête pour 4h18.
Pour créer votre maquette : cacoo.com, un outil en ligne, gratuit.
Je ne souhaite ni un site type magazine stricto-senso, ni un blog avec un affichage anté-chronologique classique. Je ne souhaite pas non plus afficher un slider, trop commun, trop attendu, et pas vraiment efficace.
Du fait d’un fort contenu texte, 4h18 serait plus proche d’un site d’information traditionnel, j’ai donc besoin de valoriser ce dernier. Ma cible étant plutôt des débutants, il faut qu’ils puissent trouver, dès la page d’accueil des liens vers les informations essentielles sur la prise en main de WordPress.
Je ne souhaite pas non plus me couper des visiteurs qui cherchent des informations plus orientés vers les habitués de WordPress, ou encore celles et ceux qui cherchent des astuces ou conseils sur le blogging. Le choix d’une home widgétisée s’impose donc pour moi comme un choix naturel.
Je pense donc une maquette, ce qui me permet de dégrossir le travail et d’avoir une ligne de conduite à suivre pour mon code html. Cela m’évitera de perdre du temps à bouger sans cesse mes blocs sur toute ma page. Cette visualisation me permet donc de gagner du temps sur la suite des travaux.
Comme vous le constatez, nous avons donc trois niveaux horizontaux. La zone de widget apparaissent en rouge sur la maquette. Vous noterez que seule la partie contenue dans le rectangle gris sera contenue dans notre fichier index.php.
La partie supérieure, le header du site est contenu dans le fichier header.php. Nous verrons la partie inférieure ultérieurement qui est, elle, contenue dans le fichier footer.php
Premier niveau
Le premier niveau reçoit 3 widgets. Je peux ainsi afficher soit un contenu texte, soit des liens vers des articles du site sous forme de liste. Le choix étant fait d’avoir des listes pour faire « entrer » rapidement le visiteur dans le site.
Second niveau
Pour cet emplacement, j’ai choisi d’utiliser un seul bloc. Je vais utiliser le widget Category Post pour afficher 3 articles. Le bloc contenant l’extrait sera un bloc en float:left.
Bien entendu je peux afficher plusieurs « lignes » d’articles avec cette méthode, et mettre ainsi plusieurs catégories à la Une du site.
Troisième niveau
Je reviens sur 3 blocs de widgets afin d’avoir la possibilité d’afficher divers contenus : Articles populaires, Open Blog Roll, Commentaires ou autres.
J’ai donc mon découpage visuel et je sais désormais comment je vais mettre mon index.php en œuvre.
Le code source du fichier index.php
Dans ce fichier, j’utilise la dynamic_sidebar de WordPress pour gérer les appels à mes widgets. Rien d’autre. Pas de loop, pas de wp_query, rien. Ce qui me permet d’avoir un code très propre et bien lisible.
Télécharger ce fichier d’exemple et renommez de exemple.txt en exemple.php afin d’avoir la coloration syntaxique avec votre éditeur.
Si vous êtes familier du couple CSS / HTML, vous voyez que ce code ne comporte rien de bien extraordinaire en lui même. Je m’appuie plus sur le CSS pour mettre en valeur le contenu du site que sur des effets de manchettes qui, avec le temps, finissent par lasser.
Dans le prochain article, nous verrons le fichier footer.php





Le fichier index.php de WordPress, contrairement aux "anciens" index.html, n'est pas la page d'accueil du site mais le modèle par défaut.
C'est le modèle qui sera utilisé par WordPress en l'absence de modèle spécifique (page.php par exemple).
Je me permets cette précision car, comme vous l'écrivez, votre ligne éditoriale est a destination des novices et vous avez de ce fait un rôle à jouer dans la bonne utilisation de WordPress.
Si vous souhaitez ne pas afficher la liste des billets en page d'accueil, le fonctionnement tel qu'il a été prévu par les créateurs de WordPress est le suivant :
1. Dans réglage > Lecture : choisissez une page statique comme page d’accueil et une autre pour la liste des billets.
2. Faites le travail que vous indiquez dans votre article mais sauvegardez le fichier *non pas* sous index.php *mais* sous front-page.php
De cette manière votre page d’accueil utilisera automatiquement le modèle front-page.php et laissera index.php libre de jouer son rôle de "bouée de sauvetage".
L'utilisation de ce fichier front-page.php a été un peu oublié par la communauté qui a pris l'habitude d'utiliser un fichier template-home.php ou template-accueil.php mais ces solutions obligent à choisir le modèle dans l'édition de la page qui servira d'accueil...
Dans tous les cas peu, et pour de bonnes raisons, conseillent de détourner la page index.php qui a un rôle central dans la hiérarchie des fichiers d'un template WordPress.
Pingback: Wordpress#2 | Pearltrees
Le vrai fichier pour la page d'accueil est home.php :)
Je m'occupe depuis peu d'un wordpress sous le thème autofocus
je souhaite creer une page qui ai la même présentation que ma page d'accueil actuelle. J'ai essayé de copier la page home.php et d'en faire un fichier template-home.php mais sans résultats.
je suis débutante dans ce domaine et j'avoue je suis un peu perdue. Avez vous une marche à suivre?
De plus, si tu fais un "simple" copier/coller, tu ne pourras pas customiser ta page comme tu le souhaites.
Tu vas avoir besoin de mettre les mains dans le php...
Par quoi faut il commencer pour apprendre le php ? ^^