Une page Home pour votre blog ou comment faire un site web + blog

Créer une page Home permet de personaliser une page d'accueil et distinguer la page blog des articles

Faire de votre blog WordPress un Site Web + Blog. Insérer une page d’accueil pour votre blog (home.php), renvoyer votre blog dans une page distincte:  C’est possible et facile.

1° Option rapide je-ne-veux-pas-chipoter-avec du-code

Le procédé le plus simple mais aussi le plus limité est d’utiliser la fonction des Réglages de votre tableau de bord à l’onglet Lecture.

Allez dans Réglages et choisissez "Lecture".
Allez dans Réglages et choisissez "Lecture".

Selon votre choix, vous aurez peut être besoin de créer au préalable une ou deux pages WordPress pour définir celle qui sera votre page d’accueil (joue la fonction home.php) et celle des articles (qui joue la fonction index.php). Comme la pratique vaut mieux qu’un long discours, je vous suggère de simplement tester la chose. Votre blog ne risque rien et c’est réversible. Il vous suffit de cocher la case ‘sur une page statique’ puis de choisir parmi vos pages existantes celles qui remplissent les rôles décrits ci-dessus. Une fois testé ou si cela ne vous convient pas, revenez à la situation initiale en cochant la première case ‘Les derniers articles’.

Cette méthode est décrite ici dans le Codex.

2° Option création d’une page home.php et blog.php

On va d’abord séparer le blog vers une page WordPress.

Dans le dossier de votre thème WordPress, vous devez créer deux fichiers templates avec un éditeur de texte (genre Notepad). Un home.php et un blog.php. N’oubliez pas la règle : Enregistrez tous vos nouveaux fichiers ou ceux d’une autre langue au format UTF8.

a) Créez un Template intitulé blog.php (par exemple)

Collez dedans juste ceci :

1
2
3
4
5
6
7
8
9
<?php
/*
Template Name: blog
*/
// Choix du Template qui va être chargé pour cette page
$paged = get_query_var('paged');
query_posts('cat=-0&paged='.$paged);
load_template(TEMPLATEPATH . '/index.php'); //charge index
?>
<?php
/*
Template Name: blog
*/
// Choix du Template qui va être chargé pour cette page
$paged = get_query_var('paged');
query_posts('cat=-0&paged='.$paged);
load_template(TEMPLATEPATH . '/index.php'); //charge index
?>

Maintenant allez dans votre tableau de bord à l’onglet Pages et

b) Publiez une page WordPress vide.

Titrez cette page comme vous voulez ça n’a aucune incidence. L’essentiel est: regardez à droite de votre page en cours d’édition, vous verrez des options dans une boîte nommée Attributs (parents, modèles).

Trouvez le menu déroulant intitulé Modèle et Choisissez le modèle blog

(le nom que nous avons donné au Template ci-dessus, mais qui peut évidement être différent). Attention, pour voir ce modèle apparaître, il faut évidement que vous ayez déjà créé ce Template blog.php…

Enregistrez cette page et publiez-la. Votre page blog apparaît dans votre menu de pages, il reproduit le fichier de votre thème intitulé index.php.

Notez que cette méthode est la méthode générale pour créer une Page Template.

Maintenant il vous faut une page d’accueil.

c) Créez un Template intitulé home.php

Là c’est à vous de jouer. Puisque vous désirez une page d’accueil différente, collez-y selon vos besoins. Néanmoins, elle doit contenir le minimum:

1
2
3
4
5
6
<?php get_header(); ?>
 
CONTENU CHOISI, BOUCLES WP ou TOUT MESSAGE PERSONNEL OU LES DEUX
 
<?php get_sidebar(); ?>
<?php get_footer(); ?>
<?php get_header(); ?>

CONTENU CHOISI, BOUCLES WP ou TOUT MESSAGE PERSONNEL OU LES DEUX

<?php get_sidebar(); ?>
<?php get_footer(); ?>

Vous pouvez par exemple copier-coller votre index.php dont vous modifiez le contenu. Ce qui vous permettra de conserver la feuille de style en conservant les class et id.

Sinon, si vous désirez créer une apparence totalement différente pour la page Home, il va de soi que vous devrez dans ce cas créer une feuille de style spécifique : home.css et l’appeler dans le header de la page home. Auquel cas, le plus simple est de copier-coller directement le header de votre fichier header.php en remplaçant cette ligne:

1
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen"/>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen"/>

par:

1
<link rel="stylesheet" href="<?php bloginfo('stylesheet_directory'); ?>/home.css" type="text/css" media="screen" title="feuille de style de la page home"/>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_directory'); ?>/home.css" type="text/css" media="screen" title="feuille de style de la page home"/>

Pour coder des boucles selon vos désirs, utilisez par exemple la fonction query_post ou regardez dans le codex les diverses boucles de base.

La hiérarchie de WordPress pousse le fichier home avant index. Donc il n’y a rien d’autre à faire, la page accueil de votre site ou blog sera cette page home.

Pour adapter le menu à cette nouvelle configuration, voir article Menus dynamiques WordPress à la carte, menu site web + blog, pages, sous-pages et catégories

Ressources coder boucles :

Bon travail!

Publicités

Publié par

Tikoun

Tikoun, créateur Web différent, c'est Barbara. Une conceptrice Web indépendante et spécialiste Wordpress qui travaille depuis Paris dans le monde entier, comme développeur informatique et se coupe en quatre pour vous faire gagner de l'argent via votre site web professionnel.

11 réflexions au sujet de « Une page Home pour votre blog ou comment faire un site web + blog »

  1. Bjr,

    ça m’interesse vraiment !

    J’aimerais en faite avoir une page d’accueil qui n’a rien à avoir avec le blog. Quand les gens tapent l’adresse de mon site ils sont envoyé vers une page noir avec 2 boutons : ENTRER ou SORTIR ou encore une page expliquant le blog en quelques mot et une fois que les visiteurs cliquent sur ENTRER il entre sur le blog avec les articles.

    J’ai lu votre tuto je l’ai appliqué mais ça ne marche pas, rien ne se passe. Jen ne sais pas ou est-ce que ça bloque

    Si quelqu’un pouvait m’aider …

    Merci d’avance !

  2. Rebonjour,
    Décidemment, votre blog regorge d’informations ! C’est l’article que je cherchais depuis quelques semaines.
    Je me pose toutefois deux questions auxquelles je n’ai pas trouvé de réponses :
    1/ Savez-vous si WP permet-il de gérer un site bilingue ou trilingue (sur les pages fixes du site) sans que cela soit une usine à gaz (avec des plugins trop lourds)
    2/ Existe-t-il un moyen de ne plus avoir les colonnes à droite ou à gauche sur les pages fixes du site?
    Apparemment, tous les sites + blog que je suis allée visiter conservent les colonnes sur toutes les pages, ce qui me pose un problème et me freine à utiliser WP pour mon site professionnel (car je veux que les pages fixes ressemblent ne contiennent pas de colonnes sur les côtés).
    Cordialement
    Aurore

    1. Bonjour Aurore,
      Pour la question du multilangages, le seul plugin, paraît-il qui ne soit pas une usine à gaz est WPML. Mais je n’ai pas testé. Faites un recherche sur ce point dans le forum de support vous y trouverez des ressources.
      Pour ce qui est d’avoir un site plutôt qu’un blog, c’est seulement une question de choix de thèmes WP. Beaucoup de thèmes proposent un template sans sidebar. Cherchez plutôt du côté des thèmes premiums (voir les images de pub en bas de mon blog pour quelques références). Ceci dit, même le thème wp par défaut le propose. Quand vous éditez une page (par un article, une page), à droite vous avez un bloc « attributs » avec les modèles de page. Choisissez ‘page large’ ou quelque chose comme ça et hop, fini la sidebar.

  3. Bonjour,

    j’ai un theme wp womack sur lequel j’aimerai retirer tout les articles et side bars qui se trouvent sur la home page en dessous du slider. est-il possible de modifier la home page sans avoir à la recréer?

    ps: j’ai commencé à apprendre le html et le css hier…

  4. Bonjour et merci pour ces conseils !
    Mais j’ai peur de n’avoir pas tout compris, en tous cas, est-ce la réponse à ma problématique ?

    Je cherche à faire site/templateA + blog/templateB = un seul site xxxx/blog dont le blog peut lui même accueillir un autre template.

    Impossible de le faire via le multiste car wordpress refuse de créer un sous-repertoire nommé « blog » – ce sont des items déjà prises en charge…

    Est-ce que votre proposition correspond à ma question ?

    Merci !!
    et bon courage 🙂
    Frédérique

    1. du tout. Ce dont je parle ici dans l’article correspond à une seule installation wordpress, et non à plusieurs sites. Ce que vous cherchez à faire correspond à un multisites wordpress. Tapez ça dans google vous trouverez plein de tutos

  5. Je cherchais justement un petit tuto sur WordPress pour faire un blog dans un site comme je le vois dans plusieurs sites qui ont une page statique et une autre qui affiche les différents articles du blog.
    Tuto bien expliqué et accessible aux non initiés.

Laisser un commentaire