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:
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..
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:
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:
Pour les développeurs, les sujets de haut niveau sont les suivants:
Pour les utilisateurs, les sujets de haut niveau sont les suivants:
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.
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..
WordPress est livré avec trois types de contenu:
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.
WordPress a deux taxonomies intégrées, que vous pouvez utiliser avec vos publications, vos pages et vos types de publication personnalisés:
De plus, vous pouvez enregistrer des taxonomies supplémentaires pour permettre un meilleur tri et une meilleure interrogation de vos données..
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:
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:
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..
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..
Donc, mon site comprendra:
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:
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..
Cela signifie que j'aurai besoin des fichiers modèles suivants:
index.php
page.php
archive.php
single.php
sidebar.php
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:
Chacun d'entre eux comprendra des balises conditionnelles afin qu'elles soient ajoutées à la barre latérale sur les bonnes pages.
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..