Page d’accueil fixe sur WordPress

Dès que j’ai entrevu les possibilités de WordPress, pas seulement comme moteur de Blog, mais comme CMS (Système de gestion de contenu) à part entière, j’en suis très vite venu à me demander comment faire pour avoir une page d’accueil fixe (contrairement aux blogs), comme sur n’importe quel autre site web.

J’ai donc commencé ma recherche, et je suis tombé sur des plugins, parfois inutiles, inefficaces, ou plus du tout à jour.

Bien sur, il est possible dans le panneau d’administration de se rendre dans Réglages/Lecture et de choisir une page fixe, mais si je crée une page d’accueil, elle s’ajoute dans certains thèmes dans la barre de navigation… double emploi avec « accueil » …

Options de lecture des billets dans la configuration WordPress

J’ai donc fait mes recherches dans le Codex (bible de WordPress pour les développeurs) et je suis tombé sur un ptit bout de code intéressant. L’astuce consiste à créer une catégorie (par exemple « actualité du site »), de de préciser à WordPress de n’afficher en page d’accueil que les articles appartenant à cette catégorie (même s’il n’y en a qu’un).

Il s’agit de repérer l’id de la catégorie en question (ici Installation d’OS) dans la barre d’état du navigateur (ici on voit que la catégorie à l’id 18), puis de placer un bout de code (ci dessous en rouge) dans le fichier home.php vous pouvez passer par « Apparence/Éditeur de thème » ➡

id d'une page ou d'un article sous WordPress

<?php if (have_posts()) : ?>
<?php query_posts('cat=18'); ?>
<?php while (have_posts()) : the_post(); ?>

Et vous, comment avez-vous fait, et que pensez-vous de cette méthode ?

Twitter Digg Delicious Stumbleupon Technorati Facebook Email

18 commentaires pour “Page d’accueil fixe sur WordPress”

  1. Bonjour,
    J’ai un petit souci. Effectivement, avec mon thème, ma page d’accueil fait doublon.
    J’ai donc commencé ta méthode, mais je ne sais pas ou « préciser à WordPress de n’afficher en page d’accueil que les articles appartenant à cette catégorie ».
    Ça parait surement bête comme question, mais je ne suis pas un pro.
    Merci pour ton site vraiment riche.

  2. @obido : Bonjour, et bienvenue sur VidéoNob !
    Pour résumer, il s’agit d’associer l’article (et non la page attention) que tu souhaites voir s’afficher en page d’accueil à une catégorie spéciale créée pour l’occasion comme « Accueil » pour être original 😛

    Ne te reste plus ensuite qu’à passer la souris sur le lien de cette catégorie et d’en repérer l’ « id » comme ici l’id 18 pour la catégorie « installation d’OS », puis d’ajouter la ligne en rouge au bon emplacement via Apparence/Editeur de thème dans la console d’administration 😉 et le tour est joué.

    Si tu as d’autres questions, je n’invite humblement à venir les poser sur le forum.

  3. Bonjour,
    je n’ai pas bien compris où je dois placer le bout de code indiqué… J’ai cru bon de le mettre dans « home.php » mais il m’est répondu :
    Parse error: syntax error, unexpected ‘=’ in /mnt/102/sdb/7/1/henri.denis07/wordpress/wp-content/themes/atahualpa/index.php on line 8
    Merci, dans tous les cas.

  4. @Henri : Effectivement, c’est pas forcément évident, je t’invite à poser tes questions détaillées ainsi qu’éventuellement le contenu de ton index.php ou home.php sur le forum, afin qu’on puisse régler ça ensemble 😉

  5. Bonjour et mille excuses pour le délai… Mais, quoique retraité et habitué depuis longtemps à la retraite, je manque à ce point de temps! Et puis, j’ai trouvé le moyen le plus classique pour que le visiteur (qui a mon adresse) puisse tomber sur la page d’accueil . En me plaçant dans le tableau de bord de WordPress, puis dans écrire une page (une page pas un article, contrairement à ce que je faisais avant)puis dans Réglages, j’arrive sur une page qui me propose de transformer ma page d’accueil en page statique… depuis ça roule. Mais, à travers cette explication, tu comprendras, Bastien, que je ne suis pas un pro…
    En tout cas, merci.
    Henri

  6. S@lut, il est aussi peut-être plus simple de (si l’on reprend l’exemple de Henri) modifier le fichier header.php (via Apparence/Editeur de thème dans la console d’administration) se trouvant dans le répertoire de son thème (atahualpa si je ne m’abuse), à la ligne 27 il trouvera :
    <a href="/" title="">Home
    En supprimant cette ligne cela résoudra son problème, cette méthode est valable pour tous les thèmes wordpress.Si cette fameuse ligne de code ne se trouve pas dans « header.php » elle sera certainement dans le fichier sidebar.php.

    Ré@gissons; p@rticipons…
    P.S @ Bastien, j’ai découvert ton blog grâce à tes tutos vidéos Wodpress, excellente initiative 😀

  7. Avec Atahualpa je crois qu’il suffit de choisir une page statique dans Options de lecture
    puis pour supprimer le doublon, d’aller dans Atahualpa Theme options > Page Menu bar > Home link in page menu bar (laisser blanc et enregistrer)

  8. Hello,

    J’aimerais publier des articles et les faire s’afficher sur la Home du blog, bien sûr, mais aussi sur des pages spécifiques, sans que celles-ci soient forcément liées à des catégories (plusieurs catégories pourraient être publiées sur la même page).
    Cela permettrait un classement croisé des articles…
    Avez-vous une idée pour ce faire SVP ?
    Merci d’avance !!!

  9. Merci pour cet article,donc on rajoute ce code dans le fichier home.php mais si on a juste index.php c’est bon ?

  10. Je n’avais pas de page home.php dans mon thème. J’ai donc renommé le fichier page.php en home.php et remplacer le bout de code suivant :

    …par le petit bout de code que tu nous a donné :

    Ça fonctionne. Merci beaucoup.

  11. tu vend du rêve 🙂

    1 mois que je traine ça sur un site, j’arrivais pas à trouver une solution et révélation je tombe sur ce post. Vraiment un très grand merci, pour cette astuce simple… encore faut il y penser.

  12. bonjour, impeccable, l’astuce fonctionne, cependant j’ai une date qui s’incorpore a cet article.
    Comment enlever la date ?

    Merci d’avance

  13. j’ai ca aussi qui s’affiche :

    Posté par admin Classé dans Accueil Commentaires fermés

  14. Je te remercie, ça correspond exactement à ce que je recherchais
    Ca marche nickel pour moi sauf que home.php n’existe plus dans la version de WordPress que j’utilise 😉

    Ciao

  15. Plus encore avec tous les templates wordpress.
    A- 1ère Méthode
    1° Entrer dans l’admin de votre site
    2°Cliquez sur Apparence puis sur Editeur en fin de ligne à gauche
    * La feuille de style de votre théme actuel s’ouvre au milieu de la page puis à droite vous avez le nom du thème affiché.
    A droite de la page, vous verrez Ecrit ‘Modèles’
    3° Sous cette option, cliquez sur le choix ‘Modèle pour la Page d’accueil’
    * Le code source de la page d’accueil s’ouvre au milieu de la page. En fait, il s’agit du contenu du fichier index.php
    4° Ajoutez la ligne suivante : juste après
    * Noter que le nombre à définir dans cat=… est obtenu en cliquant sur le titre de l’article que vous voulez voir en page d’accueil fixe de votre site.

    B- 2ème méthode
    1° Entrez dans le répertoire de votre thème et repérer le fichier index.php (pas un autre).

    2° Avec n’importe quel éditeur, même le bon vieu Bloc Notes de Windows, positionnez-vous à la fin de la ligne 6 puis faites Entrer (Validez)

    3° Ajoutez la ligne suivante

    C’est terminé, votre page d’accueil est désormais fixe et affiche uniquement le contenu de cat=… dont j’ai expliqué plus haut.

    *** Ceci marche avec tous les thèmes worrpress

    Bonne manipulation

  16. Merci pour ce très bon tuto mais qui m’a laissé tourné en rond un bon moment. (thème YOKO)
    J’ai réussi à trouver la solution ici :
    http://www.fran6art.com/webdesign/wordpress-query_posts-la-requete-a-tout-faire/
    Il suffisait dans mon cas de mettre juste avant la loop tout simplement…
    Merci !

  17. Une tuerie ce petit tuto !
    Merci beaucoup, claire, précis et efficace, la base d’un bon tuto

Rétroliens/Pings

  1. Minini - 20 juillet 2010

    #WordPress – Une page d'accueil fixe http://bit.ly/9PPaR6

Répondre