Afficher le titre de la page « Blog » sous WordPress

Récupérer le titre de la page d’archive de vos articles sous WordPress requiert d’utiliser une ligne de code PHP dans votre thème. Amis développeurs de thèmes WordPress, ce tutoriel est fait pour vous !

En tant que créateur de thèmes sur-mesure, j’ai souvent besoin de concevoir la page d’archives qui regroupe tous les articles en commençant par appeler le titre de la page créé en back-office.

Certains thèmes simplifient à l’extrême en passant par les traductions mais cela n’est pas logique. Il faut laisser le choix à l’utilisateur final du thème de pouvoir le modifier à sa guise via l’administration.

Dans Réglages puis Lecture, l’utilisateur peut définir très facilement la Page des articles. Elle correspond au fichier home.php qu’il nous faut donc créer dans votre thème.

wpchannel-accueil-blog

Pour le titre je recommande cette ligne de code qui est d’ailleurs SEO-friendly :

<h1 itemprop="headline" class="archive_title"><?php echo get_the_title(get_option('page_for_posts', true)); ?></h1>

J’ai rajouté une classe CSS pour offrir plus de personnalisation.

Crédits photo : Thomas Hawk

12 commentaires

  1. madvic

    Je n’ai pas tout saisie : A quoi correspond à le paramètre « page_for_posts » ? , perso, je l’ai en base de donnée et il est égal à 0 ? Ou se règle t-il ?

    1. Aurélien Denis auteur de l’article

      Si tu regardes la capture d’écran, c’est ce réglage qui va déterminer ou non si tu peux utiliser cette ligne de code. Si tu as coché d’afficher tous les articles, c’est inutile.

  2. Julio Potier

    Je ne comprends pas bien pourquoi il faudrait mettre ce code, et encore moins dans home.php.
    Si je prends l’exemple d’un simple thème très simple comme TwentyTen, je n’ai pas de home.php (limite on s’en fiche) je tombe donc sur index.php (qui fera pareil) et qui contient un get_template_part() vers « loop.php »
    Ce fichier contient le DOM incluant une balise H1 avec le titre récupéré avec the_title().
    Pourquoi faudrait-il coder différemment pour cette page ? Je ne trouve pas de cas où le titre serait incorrect, merci

    1. Aurélien Denis auteur de l’article

      Il faudrait que je retrouve le projet sur lequel j’ai eu besoin d’un tel code. Je te garantis que c’est très utile car il n’existe pas d’autres méthodes pour récupérer ce titre de page.

      Le placement dans home.php est conseillé si tu veux personnaliser ta page d’archives des articles. On utilisera front-page.php pour une page d’accueil sur-mesure. Mais c’est secondaire en soi.

      Dans cette utilisation dite « cms », le fichier index.php n’est là qu’en secours et en réalité il n’est « presque » jamais utilisé dans un thème.

      Ainsi, tu peux avoir besoin de faire un lien qui pointe vers cette page avec le nom de la page du blog comme ancre. Un the_title() ne te retournera que le titre de la page actuelle.

      1. Julio Potier

        home.php, index.php front-page.php, n’est pas le problème, je ne comprends pas pourquoi il faudrait une balise H1 contenant ce code. Pour faire un lien vers la page, ok, mais ton code n’est pas un lien mais une H1.
        D’où vient cette histoire de lien maintenant ?

        1. Aurélien Denis auteur de l’article

          LOL c’est un exemple, tu adaptes et tu en fais ce que tu veux. Le code te permet de récupérer le titre de la page que tu définis dans Réglages > Lecture c’est tout.

          Ensuite, tu fais ton truc avec

          1. Julio Potier

            Je suis d’accord mais dans un theme normal, la loop va mettre en H1 le the_title et ça fonctionne aussi, pas besoin de ce code dans un template spécifique, c’est ça que je ne comprend pas. :|

  3. Ben

    Salut Aurélien,
    Moi j’ai une question un peu particulière. J’ai noté que sur bcp de thèmes wordpress, par défaut sur la page d’un article, WordPress met le titre de l’article en h2. De ce fait, quand je publie un nouvel article, le H1 est le même (il reprend le nom du site) sur toutes les pages du blog et les titres des pages et articles sont de simples H2. Et quand on sait qu’un titre h1 doit être unique… ce n’est pas idéal pour le référencement. Peut-on modifier ce « défaut » dans le code ?

    1. Aurélien Denis auteur de l’article

      Oui tout est modifiable dans le thème ! D’ailleurs, il faut vérifier si c’est codé en HTML5 ou non car dans ce cas, il est possible d’avoir plusieurs ensembles de titres de niveaux (plusieurs h1 par exemple).

  4. kweb13

    Bonjour,
    je découvre votre article. j’aurais une question au sujet des titres.
    Je suis entrain de créer un thème. mon menu comporte des pages avec des sous page.
    je souhaiterai faire afficher le titre de la page ainsi que le titre de la sous page.
    Savez-vous comment procéder au niveau de la variable php? car actuellement seul le titre de la page ou l’on ce trouve s’affiche

    En vous remerciant par avance.

Laisser un commentaire

Thèmes & Plugins
Premium By WP Channel

WP Alacarte propose des produits et services de qualité
made in France pour la plateforme WordPress.

Tout est prêt pour créer votre site à la carte !

  • Thèmes et extensions premium
  • Facilité d’utilisation garantie
  • Temps de chargement optimisé
  • Personnalisation avancée
Découvrir

Rejoignez la communauté WordPress !

Faites partie de l’aventure en devenant membre d’une association WordPress. Conférences, ateliers, BarCamp, WordCamp… Venez
partager votre passion pour WordPress !

Aurélien DENIS,
président des associations WordPress Francophone et WPMX