Une double navigation avec wordpress : présentation
Le site que je monte pour le travail délivre beaucoup d’informations. A la fois vitrine des différents services de la structure et propulseur d’informations santé, il fallait trouver un moyen de répondre aux deux exigences.
Les pôles abordent tous les mêmes thématiques (prévention santé).
Il y a donc :
- une partie par service (la cellule de veille, la revue, les outils pédagogiques, le réseau doc) ;
- une partie par thématique (alimentation, addictions, politiques de santé…) reprenant le contenu approprié de chaque service.
Un moyen facile avec wordpress de réaliser cela est d’utiliser les flux rss thématiques de chaque service pour les syndiquer sur une page d’agrégation à la netvibes. Le problème alors sera le temps de chargement (entre autres, je ne m’étends pas sur les inconvénients d’une telle méthode).
Non, le mieux serait d’aller chercher les bons billets directement dans la base de données grâce à la « loop » wordpress : une boucle qui, en fonction des conditions, pioche dans la base de données. Le souci c’est qu’une page wp ne supporte qu’une « loop ». Du moins c’est ce que je croyais avant de découvrir le tag (petit bout de code propre à wordpress qui donne des commandes) : wp_reset_query(); qui clôt la dernière requête et permet d’en lancer une autre.
L’idée est donc de créer une catégorie pour chaque service et des sous-catégories thématiques. Ensuite, grâce aux modèles de page wp, la partie thématique se composera de différents blocs qui ira chercher sous les conditions que je veux les billets associés dans chaque service. Les requêtes sont certes nombreuses mais le temps d’affichage n’a rien à voir avec ce que donne l’utilisation des flux rss.
C’est donc parti pour une série de billet tentant d’expliquer pratiquement comment faire. Je vais repartir de loin et nous verrons ici comment modifier en dur les templates wordpress (les modèles de présentation). Le prochain billet sera consacré au système de fichier dans ces templates wp (index, archives, page et single). Ensuite on décortiquera la loop, puis les modèles de pages et enfin les différentes manières d’utiliser la boucle pour obtenir une page agrégeant les données souhaitées. Je termine en précisant que je ne suis pas développeur mais bien bibliothécaire de formation (avec un cursus math-info quand même en amont). La technique présentée ne sera peut-être pas la plus efficiente d’un point de vue code mais elle fonctionne. A suivre !
photo : white arrow de Mykl Roventine



