För många år sedan brukade jag skriva tekniska manualer för kunder. Dessa skulle i allmänhet ta formen av pappersdokument, med hundratals sidor av teknisk information tryckt ut och antagligen använt som ett praktiskt ställe att vila en kaffekrus av de flesta människor som de producerades för. Om klienten var exceptionellt avancerad kunde det ha varit en PDF-version, men det användes sällan.
Tiderna har gått på, och de flesta manualer eller kunskapsbaser som de är kända är i digital form. De kan ha formen av en app eller webbplats, eller någon form av simulering, men de kommer alltid att ha data i sin kärna. Kunskapsbaser måste vara enkla för användarna att söka och navigera runt, och de måste vara enkla för författare att lägga till innehåll eller redigera innehåll utan att behöva arbeta på något data mer än en gång.
Det är därför som något system som drivs av en databas blir det mest lämpliga. Jag har använt WordPress för att driva den här typen av intern webbplats för ett tag nu och jag hittar flexibiliteten WordPress ger dig över hur du visar och frågar data, i kombination med det administrativa gränssnittet som är bekant för många människor, gör det till en idealisk verktyg.
I denna serie visar jag dig att bygga en kunskapsbas med WordPress. Jag tar dig igenom följande steg:
Den första delen av detta planerar, som jag täcker här. Under hela denna serie kommer jag att arbeta på en imaginär kunskapsbas och jag ger någon kod så att du kan använda den själv.
Det första steget är att identifiera vilka typer av innehåll din kunskapsbas innehåller. Min kunskapsbas kommer att vara en resurs för WordPress-användare och utvecklare.
Den innehåller följande typer av innehåll:
Det här innehållet sorteras sedan efter målgrupp och ämnen på hög nivå. Det kommer också att använda taggar för mer detaljerad sortering.
Min publik är uppdelad i två grupper:
För utvecklare är ämnena på hög nivå:
För användare är ämnena på hög nivå:
Som redan nämnts kommer webbplatsen också att använda taggar som läggs till av bidragsgivare. Dessa kommer inte att vara specifika för användare eller utvecklare.
Webbplatsen kommer att hanteras av ett imaginärt team av WordPress-experter som alla är upptagna med annat arbete, så att de måste kunna lägga till innehåll snabbt. Vissa av dem kommer att använda WordPress mobilapp för att lägga till innehåll.
Efter att ha identifierat vad mitt innehåll kommer att behöva måste jag matcha det med WordPress-innehållstyper.
Som med så många aspekter av att utvecklas med WordPress, är det inte nödvändigtvis bara ett sätt att matcha ditt innehåll till det sätt som WordPress är organiserat. För att kunna identifiera den lämpligaste för dig måste du börja förstå hur WordPress organiserar innehåll.
Utanför rutan kommer WordPress med tre innehållstyper:
Observera att det finns andra innehållstyper i WordPress som länkar, kommentarer och menyalternativ för navigering men de tre ovanstående är de som är mest relevanta här.
Du kan också lägga till egna innehållstyper, skapa så många som du behöver, med anpassade posttyper. Dessa kan uppträda som inlägg eller sidor, den största skillnaden är att sidor är hierarkiska och inlägg inte är. I det här fallet är hierarkin inte ett problem för mina huvudinnehållstyper.
WordPress har två taxonomier inbyggda, som du kan använda med dina inlägg, sidor och anpassade posttyper:
Dessutom kan du registrera extra taxonomier för att möjliggöra bättre sortering och fråga om dina uppgifter.
Om din kunskapsbas har flera innehållstyper kan du hantera detta på ett av tre sätt:
Det första alternativet är det enklaste för nybörjare, eftersom du inte behöver skriva någon anpassad kod och kan arbeta med WordPress som det kommer. Det andra alternativet ger dig mer flexibilitet och är ett effektivt tillvägagångssätt om du vill lista alla dina innehållstyper tillsammans i stället för att alltid dela upp dem. Det är också användbart om en del innehåll kan komma under mer än en innehållstyp. Det tredje alternativet ger dig största möjliga flexibilitet så länge dina innehållstyper alltid kommer att vara separata.
När det gäller min kunskapsbas kan en del av mitt innehåll vara mer än en innehållstyp (till exempel kan ett snabbtips ta form av en video eller inkludera en länk), så jag kommer inte att registrera separata posttyper . I stället skapar jag en anpassad taxonomi för mina innehållstyper.
Förutom innehållstyperna måste jag tänka på hur mina data är kategoriserade. Varje inlägg kommer att vara i ett eller flera ämnen med en eller flera publik. Eftersom ämnena är tydligt anpassade till de två publikgrupperna, kommer jag att registrera två taxonomier: en för användarämnen och en för utvecklarämnen. Det betyder att jag kan lista ämnena för varje publik på relevanta sidor på webbplatsen.
Det innebär att min kunskapsbas kommer att använda följande:
Så jag måste registrera de tre taxonomierna men behöver inte registrera några posttyper. Dessutom, eftersom jag inte kommer att använda inbyggda kategorier, kommer jag att stänga av dem så att mina författare inte av misstag tilldelar artiklar till kategorier.
Nu när jag vet vilket innehåll min kunskapsbas kommer att innehålla och hur data lagras, behöver jag tänka på strukturen på min kunskapsbas sidor. Webbplatsen kommer att använda en kombination av arkiv och statiska sidor, med en hemsida inklusive de senaste inläggen från alla ämnen.
Jag måste också tänka på min navigations- och navigering i menyn, jag ska inkludera ämnesnavigering i sidofältet och även en sökruta.
Så, min sida kommer att innehålla:
Jag tar med en sidofält och sidfot på alla sidor på min sida, men jag kommer att variera det något beroende på vilket område av webbplatsen användaren är i.
Här är vad som kommer att finnas i sidofältet:
Det här låter lite komplicerat, men det börjar bli meningsfullt när vi börjar bygga det. Jag skapar var och en av dessa element med en funktion och använder sedan villkorade taggar för att fästa funktionerna i en handtagskrok som jag lägger till i sidofältet. Jag lägger även till ett widgetområde till sidofältet just i fallet.
Footer kommer att innehålla listor över taxonomi villkor för alla tre av mina ämnen samt en lista över de senaste inläggen.
Det betyder att jag behöver följande mallfiler:
index.php
page.php
archive.php
single.php
sidebar.php
Jag lägger till en åtgärdskrok, som hjälper mig att fylla sidfältet: a tutsplus_sidebar
action krok in sidebar.php
.
Jag skapar en funktion som är fäst vid denna krok, som kommer att innehålla följande listor:
Var och en av dessa kommer att innehålla villkorliga taggar så att de läggs till i sidofältet på de högra sidorna.
Jag har nu en plan för innehållet och strukturen i min kunskapsbas och jag har matchat det med WordPress-funktioner. Så jag har identifierat exakt vad jag behöver skapa i WordPress för att göra detta kunskapsbasarbete.
Medan det är frestande att dyka in och börja kodning är det en bra idé att spendera tid på att planera din kunskapsbas så att du vet exakt vilka mallfiler och funktioner du behöver. På det sättet när du kommer att skriva koden blir det mycket snabbare.
I nästa del av denna serie visar jag hur du registrerar posttyper och taxonomier för din kunskapsbas data och tar bort alla du behöver inte.