Planification d'une base de connaissances WordPress

Il y a de nombreuses années, j'écrivais des manuels techniques pour les clients. Celles-ci prendraient généralement la forme de documents papier, avec des centaines de pages d'informations techniques imprimées et probablement utilisées comme un endroit pratique pour déposer une tasse de café auprès de la plupart des personnes pour lesquelles elles ont été produites. Si le client était exceptionnellement avancé, il pouvait y avoir une version PDF, mais elle était rarement utilisée.

Les temps ont évolué et la plupart des manuels, ou bases de connaissances comme on les appelle souvent, sont sous forme numérique. Ils peuvent prendre la forme d'une application ou d'un site Web, ou d'une sorte de simulation, mais ils auront toujours des données à la base. Les bases de connaissances doivent permettre aux utilisateurs de rechercher et de naviguer facilement, et aux auteurs d'ajouter et de modifier du contenu, sans avoir à travailler plusieurs fois sur une donnée..

C'est pourquoi tout système piloté par une base de données sera le plus approprié. Cela fait un moment que j'utilise WordPress pour piloter ce type de site Web interne et je trouve que la flexibilité que WordPress vous offre en ce qui concerne l'affichage et l'interrogation des données, associée à l'interface d'administration familière à beaucoup de gens, en font un idéal. outil.

Dans cette série, je vous montrerai comment créer une base de connaissances à l'aide de WordPress. Je vais vous guider à travers les étapes suivantes:

  1. Planifiez votre base de connaissances, en particulier la manière dont votre contenu s’intégrera avec les types de contenu WordPress. Identifier la structure du site et les fichiers de modèles personnalisés à créer, le cas échéant.
  2. Structurer votre base de connaissances. Création des fichiers de modèle pertinents et écriture de requêtes personnalisées.
  3. Créer le front-end de votre base de connaissances. Création des fichiers de modèle, leur style et ajout de navigation, recherche et aide supplémentaires.
  4. Faire vivre votre base de connaissances. En regardant les contraintes que vous pourriez rencontrer ici, comment vous allez autoriser l'accès au site et comment il sera maintenu et géré.

La première partie de ceci est la planification, que je couvrirai ici. Tout au long de cette série, je vais travailler sur une base de connaissances imaginaire et je fournirai n’importe quel code pour que vous puissiez l’utiliser vous-même..

Identifier le contenu de votre base de connaissances

La première étape consiste à identifier les types de contenu que votre base de connaissances contiendra. Ma base de connaissances va devenir une ressource pour les utilisateurs et les développeurs WordPress.

Il contiendra les types de contenu suivants:

  • FAQ
  • Astuces rapides
  • Tutoriels
  • Extraits
  • Liens
  • Vidéos

Ce contenu sera ensuite trié en fonction du public cible et des sujets de haut niveau. Il utilisera également des balises pour un tri plus détaillé.

Mon public est divisé en deux groupes:

  • utilisateurs
  • développeurs

Pour les développeurs, les sujets de haut niveau sont les suivants:

  • Thème de développement
  • Développement de plugins
  • Les fonctions
  • Crochets d'action et de filtrage
  • Requêtes et base de données

Pour les utilisateurs, les sujets de haut niveau sont les suivants:

  • Le tableau de bord
  • Ajouter et éditer du contenu
  • La médiathèque
  • Installer, personnaliser et activer des thèmes
  • Installer, personnaliser et activer des plugins
  • Réglages
  • Administration du site

Comme déjà mentionné, le site utilisera également des balises qui seront ajoutées par les contributeurs. Ceux-ci ne seront pas spécifiques aux utilisateurs ou aux développeurs.

Le site sera géré par une équipe imaginaire d'experts WordPress qui sont tous occupés par d'autres travaux. Ils doivent donc pouvoir ajouter du contenu rapidement. Certains d'entre eux utiliseront l'application mobile WordPress pour ajouter du contenu.

Après avoir identifié ce que mon contenu doit être, je dois le faire correspondre aux types de contenu WordPress.

Faire correspondre vos exigences à WordPress

Comme pour de nombreux aspects du développement avec WordPress, il n’ya pas nécessairement une seule façon de faire correspondre votre contenu à la manière dont WordPress est organisé. Donc, pour identifier celui qui vous convient le mieux, vous devez commencer par comprendre comment WordPress organise le contenu..

Types de contenu WordPress

WordPress est livré avec trois types de contenu:

  • des postes
  • des pages
  • pièces jointes

Notez qu'il existe d'autres types de contenu dans WordPress, tels que des liens, des commentaires et des éléments de menu de navigation, mais les trois ci-dessus sont ceux qui sont les plus pertinents ici..

Vous pouvez également ajouter vos propres types de contenu, en créant autant que nécessaire, à l'aide de types d'articles personnalisés. Celles-ci peuvent se comporter comme des publications ou des pages, la principale différence étant que les pages sont hiérarchiques et que les publications ne le sont pas. Dans ce cas, la hiérarchie n'est pas un problème pour mes principaux types de contenu.

Taxonomies WordPress

WordPress a deux taxonomies intégrées, que vous pouvez utiliser avec vos publications, vos pages et vos types de publication personnalisés:

  • Catégorie 
  • étiquette

De plus, vous pouvez enregistrer des taxonomies supplémentaires pour permettre un meilleur tri et une meilleure interrogation de vos données..

Identifier ce dont vous avez besoin

Si votre base de connaissances comporte plusieurs types de contenu, vous pouvez résoudre ce problème de l'une des trois manières suivantes:

  • Utilisez un type de contenu (tel que les articles) et utilisez des catégories pour identifier le type de contenu concerné..
  • Utilisez un type de contenu (tel que les articles) et utilisez une taxonomie personnalisée pour identifier le type de contenu..
  • Enregistrez un type de message pour chacun de vos types de contenu.

La première option est la plus simple pour les débutants, car vous n'avez pas à écrire de code personnalisé et pouvez travailler avec WordPress au fur et à mesure. La deuxième option vous donne plus de flexibilité et constitue une approche efficace si vous souhaitez répertorier tous vos types de contenu ensemble plutôt que de toujours les séparer. C'est également utile si un contenu peut appartenir à plus d'un type de contenu. La troisième option vous donne la plus grande flexibilité tant que vos types de contenu seront toujours séparés.

Dans le cas de ma base de connaissances, certains de mes contenus peuvent appartenir à plus d'un type de contenu (par exemple, une astuce rapide peut prendre la forme d'une vidéo ou inclure un lien), je ne vais donc pas enregistrer des types d'articles différents. . Au lieu de cela, je vais créer une taxonomie personnalisée pour mes types de contenu..

Outre les types de contenu, je dois réfléchir à la manière dont mes données sont classées. Chaque message sera dans un ou plusieurs sujets avec un ou plusieurs auditeurs. Les sujets étant clairement associés aux deux groupes d’audience, je vais enregistrer deux taxonomies: une pour les sujets relatifs aux utilisateurs et une autre pour les sujets destinés aux développeurs. Cela signifie que je peux lister les sujets de chaque public sur les pages pertinentes du site..

Cela signifie que ma base de connaissances utilisera les éléments suivants:

  • des postes
  • des pages
  • Mots clés
  • trois taxonomies personnalisées: sujet utilisateur, sujet développeur et type de contenu

Je vais donc devoir enregistrer ces trois taxonomies mais je n'aurai pas besoin d'enregistrer de type de message. De plus, comme je n'utiliserai pas de catégories intégrées, je vais les désactiver pour que mes auteurs n'affectent pas accidentellement des éléments à des catégories..

Planification de la structure de votre base de connaissances

Maintenant que je sais quel contenu ma base de connaissances inclura et comment les données seront stockées, je dois réfléchir à la structure des pages de ma base de connaissances. Le site utilisera une combinaison d'archives et de pages statiques, avec une page d'accueil contenant les derniers messages de tous les sujets..

Je dois aussi penser à ma navigation, ainsi qu'à la navigation dans le menu. Je vais inclure la navigation par sujet dans la barre latérale, ainsi qu'un champ de recherche..

Structure de la page

Donc, mon site comprendra:

  • une page d'accueil avec les derniers messages de tous les sujets
  • une page statique pour chacun des deux groupes d'utilisateurs et pour les types de contenu
  • une page d'archive pour chaque type de contenu
  • une page d'archive pour chaque terme de taxonomie
  • pages simples pour chaque article

Barre latérale et pied de page

J'inclurai une barre latérale et un pied de page sur toutes les pages de mon site, mais je vais le modifier légèrement en fonction de la zone du site où se trouve l'utilisateur..

Voici ce qui sera dans la barre latérale:

  • Sur toutes les pages, il y aura un champ de recherche en haut..
  • Sur la page d'accueil, la page de recherche et les pages 404, il y aura des liens vers chacune des pages utilisateur et développeur, avec une liste de termes de taxonomie pertinents sous chacun avec des liens, et une liste de types de contenu avec des liens vers leurs pages d'archive..
  • Sur la page des utilisateurs et les pages d'archives de la taxonomie de sujet, vous trouverez des liens vers les archives des termes de taxonomie de sujet..
  • Sur la page de développement et les pages d'archive de la taxonomie de sujet de développeur, il y aura des liens vers les archives des termes de taxonomie de développeur..
  • Sur la page de type de contenu et les pages d'archive pour la taxonomie de type de contenu, il y aura une liste de types de contenu avec des liens vers leurs pages d'archive..
  • Sur une seule page, nous aurons des liens vers les archives pour les taxonomies de sujet et de développeur..

Tout cela semble un peu compliqué, mais cela commencera à avoir du sens lorsque nous commencerons à le construire. Je vais créer chacun de ces éléments avec une fonction, puis utiliser des balises conditionnelles pour associer les fonctions à un crochet d’action que je vais ajouter au modèle de la barre latérale. Je vais aussi ajouter une zone de widget à la barre latérale au cas où.

Le pied de page comprendra une liste des termes de taxonomie pour mes trois sujets, ainsi qu'une liste des derniers messages..

Fichiers de modèle

Cela signifie que j'aurai besoin des fichiers modèles suivants:

  • index.php
  • page.php
  • archive.php
  • single.php
  • sidebar.php

Crochets et fonctions

J'ajouterai un crochet d'action qui m'aidera à remplir les barres latérales: tutsplus_sidebar action crochet dans sidebar.php.

Je vais créer une fonction attachée à ce hook, qui contiendra les listes suivantes:

  • liens vers les pages d'archives pour les termes de taxonomie de sujet d'utilisateur
  • liens vers les pages d'archives pour les termes de taxonomie de la rubrique développeur
  • liens vers les archives pour les termes de taxonomie de type de contenu.

Chacun d'entre eux comprendra des balises conditionnelles afin qu'elles soient ajoutées à la barre latérale sur les bonnes pages.

Résumé

J'ai maintenant un plan pour le contenu et la structure de ma base de connaissances et je l'ai adapté aux capacités de WordPress. J'ai donc identifié exactement ce que je devrai créer dans WordPress pour que cette base de connaissances fonctionne.

Même s'il est tentant de plonger dans le code et de commencer à le coder, c'est une bonne idée de passer un peu de temps à planifier votre base de connaissances de cette manière, afin que vous sachiez exactement de quel modèle les fichiers et les fonctions dont vous avez besoin. Ainsi, lorsque vous écrivez le code, ce sera beaucoup plus rapide..

Dans la prochaine partie de cette série, je vais vous montrer comment enregistrer des types d'article et des taxonomies pour les données de votre base de connaissances et supprimer celles dont vous n'avez pas besoin..