Créer plusieurs pages de « blog » sur un site WordPress

De nouveau en train de créer un site avec WordPress, et malgré les années passées à utiliser ce CMS (1), je me repose les mêmes questions 🙂 Pour plusieurs raisons ! la plateforme elle-même évolue, des plugins ne sont plus suivis, et les thèmes et extensions ne respectent pas tous les mêmes règles !

Attribuer des rôles différents aux utilisateurs

Comme je l’avais mentionné dans un précédent article, j’utilise sur les sites l’extension Role Manager, qui permet de créer et gérer des groupes d’utilisateurs finement, en leur accordant juste les droits souhaités. Mais depuis la dernière version 6 de WordPress, si cette extension est active, l’administrateur n’accède plus aux comptes utilisateurs, et ne peut donc plus générer un nouveau mot de passe si nécessaire ou modifier les droits attribués.

En remplacement, j’ai installé WPFront User Role Editor. Cette extension est moins complète que Role Manager mais peut suffire dans la majorité des cas. Sinon, une autre option est de réactiver Role Manager le temps de la création de l’octroi des droits aux utilisateurs, puis de la désactiver !

Disposer de plusieurs pages « dynamiques »

Dans le même article, j’avais décrit comment créer plusieurs pages sur lesquelles s’affichent les articles d’une même catégorie, et je référençais le site de Quentin Busuttil. Mais la page n’existe plus.

Heureusement, j’avais noté comment s’y prendre. Cela fonctionne sur un de mes sites, mais j’ai dû apporter quelques modifications sur un autre. En fonction du thème, les bouts de code à ajouter ne sont pas tout à fait identiques…

Avec le thème Dulcet par exemple :

  • ouvrir le fichier index.php. du thème,
  • pour créer le modèle de page :
    • créer un fichier, par exemple monmodeledepage.php,
    • copier tout le contenu du fichier index.php du thème dans ce nouveau fichier,
    • au début du fichier, insérer
      <?php /* Template Name: monmodeledepage */ ?>
    • avant la ligne
      <code>while(have_posts())

      ajouter un autre morceau de code

      <?php
      $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
      query_posts("category_name=nomdelacategorie&paged=$paged");
      ?>
  • créer une nouvelle page, puis dans le panneau attribut de la page, choisir le modèle créé, ici monmodeledepage,
  • dans la page créée, ajouter le nom du modèle monmodeledepage.

Tous les articles de la catégorie nomdelacategorie s’afficheront dans cette page.

Autre exemple, avec le thème Magbook :

Commencer comme avec le thème précédent, mais

  • avant la ligne
    <code>while(have_posts())

    ajouter ce bout de code

    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    query_posts("category_name=nomdelacategorie&paged=$paged");

Puis poursuivre comme précédemment.


Ecrit par Lise - Site

  1. CMS signifie Content Management System, en français, Gestion de contenu. []

2 commentaires pour “Créer plusieurs pages de « blog » sur un site WordPress

  1. Bonjour,
    Je connais bien php mais pas wordpress. Une amie voudrais faire ce genre de ‘filtre’ sur son site (en gros elle a des categories qui sont des Villes) mais elle voudrait ajouter un Blog. Ayant vu cet article, je pensais a ajouter une categorie « BLOG » et faire 2 fichiers avec une query differente category_name=BLOG et category_name  » BLOG).
    Le probleme, elle utilise the theme ASTRA et ne vois nulle part ‘while(have_posts())' dans le fichier 'index.php' du theme.
    J'ai fait une recherche dans la directory astra du theme, mais aucun fichier php ne contient '"category_name=nomdelacategorie" ...
    WP est nouveau pour moi, je trouve qu'il y a des milliers de ligne de code pour le rendre 'facile' pour les non developpeur.
    Si vous avez une idee, je prend
    Merci
    F.

    • La difficulté avec les thèmes WP, c’est qu’ils ne respectent pas tous le même standard. Certaines fonctions, voire certaines extensions, ne marchent pas bien avec tous les thèmes.

      On peut contourner ce problème en affichant les articles d’une catégorie, soit avec un plugin comme Postlists (voir ces articles un peu anciens), soit en redirigeant une page vers la catégorie. En effet, en bas de l’interface de rédaction d’une page, se trouve un item « Faire pointer ce contenu vers : » ; cocher la case « Une URL personnalisée » et indiquer pour la redirection le lien de la catégorie, par exemple https://monsite.fr/category/nomdelacategorie/.

      J’espère que cela aidera votre amie…

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Laisser ces deux champs tels quels :

Protégé par Invisible Defender. 317 882 spammeurs ont vu s'afficher une page d'erreur 403.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.