Een WordPress Knowledge Base plannen

Vele jaren geleden schreef ik technische handleidingen voor klanten. Deze zouden meestal de vorm aannemen van papieren documenten, met honderden pagina's met technische informatie die zijn afgedrukt en waarschijnlijk zijn gebruikt als een handige plek om een ​​koffiemok te laten rusten door de meeste mensen waarvoor ze zijn gemaakt. Als de client uitzonderlijk geavanceerd was, was er mogelijk een PDF-versie, maar deze werd zelden gebruikt.

Tijden zijn verder gegaan en de meeste handleidingen, of kennisbases zoals ze vaak worden genoemd, hebben een digitale vorm. Ze kunnen de vorm aannemen van een app of website, of een soort van simulatie, maar ze hebben altijd de gegevens in hun kern. Kennisdatabases moeten gemakkelijk door gebruikers kunnen worden doorzocht en kunnen navigeren, en het moet voor schrijvers gemakkelijk zijn om inhoud toe te voegen aan of inhoud te bewerken, zonder dat ze meer dan eens aan een gegeven moeten werken.

Daarom is elk systeem dat wordt bestuurd door een database het meest geschikt. Ik gebruik WordPress al een tijdje om dit soort interne website te gebruiken en ik vind de flexibiliteit die WordPress je geeft over hoe je gegevens weergeeft en opvraagt, in combinatie met de beheerdersinterface die veel mensen kennen, het een ideaal maken gereedschap.

In deze serie laat ik je weten om een ​​kennisbasis te bouwen met behulp van WordPress. Ik leid u door de volgende stappen:

  1. Je kennisbasis plannen, in het bijzonder plannen hoe je inhoud bij de inhoudstypen van WordPress past. Identificeren wat de structuur van de site moet zijn en welke aangepaste sjabloonbestanden u eventueel moet maken.
  2. Uw kennisbasis structureren. De relevante sjabloonbestanden maken en aangepaste queries schrijven.
  3. De front-end van uw knowledge base creëren. De sjabloonbestanden maken, stylen en extra navigatie, zoeken en hulp toevoegen.
  4. Uw kennisbasis levend maken. Kijkend naar de beperkingen die u hier tegen kunt komen, hoe u toegang tot de site verleent en hoe deze wordt onderhouden en beheerd.

Het eerste deel hiervan is planning, die ik hier zal behandelen. In deze serie ga ik werken aan een denkbeeldige kennisbank en ik zal elke code verstrekken, zodat je het zelf kunt gebruiken.

De inhoud van uw Knowledge Base identificeren

De eerste stap is om te identificeren welke soorten inhoud uw kennisbestand zal bevatten. Mijn kennisbank wordt een hulpmiddel voor WordPress-gebruikers en -ontwikkelaars.

Het bevat de volgende soorten inhoud:

  • Veelgestelde vragen
  • Snelle tips
  • tutorials
  • snippets
  • Links
  • Videos

Deze inhoud wordt vervolgens gesorteerd op basis van de doelgroep en de onderwerpen op hoog niveau. Het zal ook gebruik maken van tags voor meer gedetailleerde sortering.

Mijn publiek is verdeeld in twee groepen:

  • gebruikers
  • ontwikkelaars

Voor ontwikkelaars zijn de onderwerpen op hoog niveau:

  • Thema ontwikkeling
  • Plug-in ontwikkeling
  • functies
  • Actie- en filterhaken
  • Queries en de database

Voor gebruikers zijn de onderwerpen op hoog niveau:

  • Het dashboard
  • Inhoud toevoegen en bewerken
  • De mediabibliotheek
  • Thema's installeren, aanpassen en activeren
  • Plug-ins installeren, aanpassen en activeren
  • instellingen
  • Site beheer

Zoals eerder vermeld, zal de site ook tags gebruiken die door bijdragers zullen worden toegevoegd. Deze zullen niet specifiek zijn voor gebruikers of ontwikkelaars.

De site zal worden beheerd door een denkbeeldig team van WordPress-experts die allemaal bezig zijn met ander werk, dus moeten ze snel content kunnen toevoegen. Sommigen van hen zullen de WordPress mobiele app gebruiken om inhoud toe te voegen.

Nadat ik heb vastgesteld wat mijn inhoud moet zijn, moet ik deze koppelen aan WordPress-inhoudstypen.

Matching van uw vereisten voor WordPress

Zoals met zoveel aspecten van ontwikkeling met WordPress, is er niet noodzakelijkerwijs slechts één manier om uw inhoud aan te passen aan de manier waarop WordPress is georganiseerd. Dus om de meest geschikte voor u te identificeren, moet u beginnen te begrijpen hoe WordPress inhoud organiseert.

WordPress Content Types

Out of the box, WordPress wordt geleverd met drie inhoudstypen:

  • posts
  • pagina's
  • bijlagen

Merk op dat er andere inhoudstypen in WordPress zijn, zoals links, opmerkingen en navigatie-menu-items, maar de drie hierboven zijn degenen die hier het meest relevant zijn.

U kunt ook uw eigen inhoudstypen toevoegen en er zoveel aanmaken als u nodig hebt, met behulp van aangepaste berichttypen. Deze kunnen zich gedragen als berichten of pagina's, het belangrijkste verschil is dat pagina's hiërarchisch zijn en berichten niet. In dit geval is hiërarchie geen probleem voor mijn belangrijkste inhoudstypen.

WordPress Taxonomies

WordPress heeft twee ingebouwde taxonomieën die je kunt gebruiken met je berichten, pagina's en aangepaste berichttypen:

  • categorie 
  • label

Bovendien kunt u extra taxonomieën registreren om uw gegevens beter te kunnen sorteren en bevragen.

Identificeren wat je nodig hebt

Als uw kennisbank meerdere inhoudstypen heeft, kunt u dit op drie manieren doen:

  • Gebruik één inhoudstype (zoals berichten) en gebruik categorieën om te bepalen welk inhoudstype elk is.
  • Gebruik één inhoudstype (zoals berichten) en gebruik een aangepaste taxonomie om het inhoudstype te identificeren.
  • Registreer een berichttype voor elk van uw inhoudstypen.

De eerste optie is het gemakkelijkst voor beginners, omdat u geen aangepaste code hoeft te schrijven en met WordPress kunt werken zoals het komt. De tweede optie biedt u meer flexibiliteit en is een efficiënte aanpak als u al uw inhoudstypen bij elkaar wilt weergeven in plaats van ze altijd op te splitsen. Het is ook handig als een inhoud deel uitmaakt van meer dan één inhoudstype. De derde optie biedt u de meeste flexibiliteit zolang uw inhoudstypen altijd gescheiden blijven.

In het geval van mijn kennisbank kan een deel van mijn inhoud van meer dan één inhoudstype zijn (een snelle tip kan bijvoorbeeld de vorm van een video aannemen of een link bevatten), dus ik ga geen aparte berichttypen registreren . In plaats daarvan maak ik een aangepaste taxonomie voor mijn inhoudstypen.

Naast de inhoudstypen moet ik nadenken over hoe mijn gegevens zijn gecategoriseerd. Elke post zal in een of meer onderwerpen zijn met een of meer kijkers. Omdat de onderwerpen duidelijk overeenkomen met de twee doelgroepgroepen, ga ik twee taxonomieën registreren: een voor gebruikersonderwerpen en een voor ontwikkelaarsonderwerpen. Dit betekent dat ik de onderwerpen voor elke doelgroep kan vermelden op de relevante pagina's van de site.

Dit betekent dat mijn kennisbank het volgende zal gebruiken:

  • posts
  • pagina's
  • labels
  • drie aangepaste taxonomieën: gebruikersonderwerp, onderwerp van ontwikkelaar en inhoudstype

Dus ik moet die drie taxonomieën registreren, maar ik hoef geen posttypen te registreren. Omdat ik geen ingebouwde categorieën ga gebruiken, zal ik deze ook uitschakelen zodat mijn auteurs niet per ongeluk items aan categorieën toewijzen.

De structuur van uw Knowledge Base plannen

Nu ik weet welke inhoud mijn kennisbank zal bevatten en hoe de gegevens worden opgeslagen, moet ik nadenken over de structuur van de pagina's van mijn kennisbank. De site gebruikt een combinatie van archieven en statische pagina's, met een startpagina met de nieuwste berichten van alle onderwerpen.

Ik moet ook nadenken over mijn navigatie - evenals navigatie in het menu, ik zal onderwerpnavigatie opnemen in de zijbalk en ook een zoekvak.

Paginastructuur

Dus mijn site bevat:

  • een startpagina met de nieuwste berichten van alle onderwerpen
  • een statische pagina voor elk van de twee gebruikersgroepen en voor inhoudstypen
  • een archiefpagina voor elk inhoudstype
  • een archiefpagina voor elke taxonomieterm
  • enkele pagina's voor elk bericht

Zijbalk en voettekst

Ik zal een zijbalk en voettekst toevoegen op alle pagina's van mijn site, maar ik zal het enigszins variëren afhankelijk van het gedeelte van de site waar de gebruiker zich bevindt.

Hier is wat er in de zijbalk staat:

  • Op alle pagina's staat bovenaan een zoekvak.
  • Op de startpagina, zoekpagina en 404-pagina's vindt u links naar elk van de gebruikers- en ontwikkelaarspagina's, met een lijst met relevante taxonomietermen onder elk met links en een lijst met inhoudstypen met koppelingen naar hun archiefpagina's.
  • Op de gebruikerspagina en archiefpagina's voor de taxonomie van het gebruikersthema zijn er koppelingen naar de archieven van de onderwerpcyclo-voorwaarden.
  • Op de ontwikkelaarspagina en archiefpagina's voor de ontwikkelaarsthema taxonomie, zullen er links zijn naar de ontwikkelaar topic taxonomie termen archieven.
  • Op de inhoudstypepagina en archiefpagina's voor de inhoudstype-taxonomie, zal er een lijst zijn met inhoudstypen met koppelingen naar hun archiefpagina's.
  • Op een enkele pagina hebben we links naar de archieven voor het gebruikersonderwerp en ontwikkelaarstaxonomieën.

Dit klinkt allemaal een beetje ingewikkeld, maar het zal logisch worden wanneer we beginnen met het bouwen ervan. Ik maak elk van deze elementen met een functie en gebruik vervolgens voorwaardelijke tags om de functies aan een actiehaak te koppelen die ik aan de zijbalksjabloon zal toevoegen. Ik zal ook een widgetgebied toevoegen aan de zijbalk, voor het geval dat.

De voettekst bevat lijsten met de taxonomietermen voor alle drie mijn onderwerpen plus een lijst met de nieuwste berichten.

Sjabloon bestanden

Dit betekent dat ik de volgende sjabloonbestanden nodig heb:

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

Haken en functies

Ik voeg één actiehaak toe, die me zal helpen de zijbalken te vullen: tutsplus_sidebar actie hook in sidebar.php.

Ik maak één functie gekoppeld aan deze haak, die de volgende lijsten bevat:

  • koppelingen naar de archiefpagina's voor de taxonomie-voorwaarden voor het gebruikersonderwerp
  • koppelingen naar de archiefpagina's voor de taxonomie-voorwaarden voor ontwikkelaars
  • koppelingen naar de archieven voor de voorwaarden van de inhoudstype-taxonomie.

Elk van deze bevat voorwaardelijke tags zodat ze worden toegevoegd aan de zijbalk op de rechterpagina's.

Samenvatting

Ik heb nu een plan voor de inhoud en structuur van mijn kennisbank en ik heb dat afgestemd op de WordPress-mogelijkheden. Dus ik heb precies geïdentificeerd wat ik in WordPress moet maken om deze kennisbasis te laten werken.

Hoewel het verleidelijk is om in te duiken en te beginnen met coderen, is het een goed idee om wat tijd te besteden aan het plannen van je kennisdatabase, zodat je precies weet welke sjabloonbestanden en functies je nodig hebt. Op die manier zal het veel sneller zijn wanneer je de code gaat schrijven.

In het volgende deel van deze serie laat ik zien hoe je berichttypen en taxonomieën registreert voor de gegevens van je knowledge base en verwijder alle items die je niet nodig hebt.