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:
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 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:
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:
Voor ontwikkelaars zijn de onderwerpen op hoog niveau:
Voor gebruikers zijn de onderwerpen op hoog niveau:
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.
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.
Out of the box, WordPress wordt geleverd met drie inhoudstypen:
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 heeft twee ingebouwde taxonomieën die je kunt gebruiken met je berichten, pagina's en aangepaste berichttypen:
Bovendien kunt u extra taxonomieën registreren om uw gegevens beter te kunnen sorteren en bevragen.
Als uw kennisbank meerdere inhoudstypen heeft, kunt u dit op drie manieren doen:
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:
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.
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.
Dus mijn site bevat:
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:
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.
Dit betekent dat ik de volgende sjabloonbestanden nodig heb:
index.php
page.php
archive.php
single.php
sidebar.php
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:
Elk van deze bevat voorwaardelijke tags zodat ze worden toegevoegd aan de zijbalk op de rechterpagina's.
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.