WP Custom Post FAQ…

Publié le

par

J’ai récemment dû concevoir une « foire aux questions » pour un site Intranet, aussi, j’ai pensé que ça pourrait vous intéresser de voir comment avec quelques fonctionnalités de WordPress, on peut rapidement mettre sur pied ce type de contenu.

Il est vrai que j’aurai pu récupérer les scripts de Nettuts+ par exemple, mais le besoin qui m’avait été exprimé nécessitant :

  • d’intégrer un moteur de recherche,
  • de pouvoir ranger les question dans des catégories,
  • de disposer d’un affichage accordéon.

Il a fallu phosphorer un peu plus longuement !

Accordéon

Pour réaliser cette FAQ, j’ai commencé par créer un nouveau type de contenu afin de le séparer des articles classiques (les fameux custom post types). Ensuite, j’ai ajouté un shortcode afin d’appeler facilement la FAQ depuis une page de mon choix. Ça ne vous rappelle pas quelque chose ??

Effectivement, s’agissant de la technique, c’est très similaire au code que j’ai détaillé dans mon article « Live Blogging avec #WP custom post type / taxo« . Je vous épargnerai donc les lignes de code pour me concentrer sur l’aspect utilisation de la bête. Par ailleurs, vous aurez tout le loisir de le découvrir dans ce child thème de TwentyTen que j’ai rapidement conçu pour l’occasion 😉 .

Rechercher dans les rubriques

Une UI permettant la recherche par rubrique

La première chose que j’ai recherché a été de trouver une interface qui cumule recherche et filtre par taxonomy : la solution de Codrops s’est très vite imposée !

J’ai donc adapté cette UI afin d’automatiser la liste des rubriques en loopant sur la liste de taxonomy de mon custom post type. Pour cela, j’ai utilisé la fonction get_terms. Ainsi l’utilisateur peut soit afficher toute la rubrique soit l’affiner en ajoutant un terme dans le champ de recherche. Ensuite un bon vieux query_posts me permet de récupérer le résultat de cette recherche pour l’afficher dans un accordéon.

NB : la dénomination des rubriques que je dois traiter étant relativement longue, j’ai utilisé la propriété ‘description’ de la taxonomy, pour le changer par son nom : utiliser la propriété ‘name’ à la place.

La création des rubriques de la FAQ

Le script functions.php de notre child thème contient toutes les fonctions nécessaires à la mise en place de l’admin menu du custom post type de la FAQ, ainsi, une fois le thème activé, il s’agit de créer les rubriques « faq cats » qui peupleront notre dropdown liste de l’UI de recherche

La Création de la page accueillant la FAQ

Dans l’administration WordPress, il suffit de créer une nouvelle page que nous appellerons « FAQ » (soyons original!) et dans laquelle nous allons nous contenter d’