Planlegger et WordPress Knowledge Base

For mange år siden pleide jeg å skrive tekniske håndbøker for klienter. Disse vil vanligvis ta form av papirdokumenter, med hundrevis av sider med teknisk informasjon trykt av og sannsynligvis brukt som et praktisk sted å hvile en kaffekrus av de fleste av menneskene de ble produsert for. Hvis klienten var eksepsjonelt avansert, kan det ha vært en PDF-versjon, men det ble sjelden brukt.

Tider har gått på, og de fleste håndbøker, eller kunnskapsbaser som de ofte er kjent, er i digital form. De kan ta formen av en app eller et nettsted, eller en slags simulering, men de vil alltid ha data i kjernen. Kunnskapsbaser må være enkle for brukere å søke og navigere rundt, og de må være enkle for forfattere å legge til innhold til eller redigere innhold uten å måtte jobbe på noe data mer enn en gang.

Dette er grunnen til at ethvert system som drives av en database, vil være den mest hensiktsmessige. Jeg har brukt WordPress til å kjøre denne typen intern nettside for en stund nå, og jeg finner fleksibiliteten WordPress gir deg over hvordan du viser og spørrer data, kombinert med admingrensesnittet som er kjent for mange mennesker, gjør det til et ideelt verktøy.

I denne serien vil jeg vise deg hvordan du bygger en kunnskapsbase ved hjelp av WordPress. Jeg tar deg gjennom følgende trinn:

  1. Planlegg din kunnskapsbase, spesielt planlegger hvordan innholdet ditt passer med WordPress innholdstype. Identifisere hva strukturen til nettstedet må være og hvilke tilpassede malfiler du må opprette, hvis noen.
  2. Strukturere din kunnskapsbase. Opprette relevante malfiler og skrive eventuelle tilpassede spørringer.
  3. Opprette kunnskapsbaseens frontend. Opprett malfilene, styler dem og legg til ekstra navigering, søk og hjelp.
  4. Gjør din kunnskapsbase live. Når du ser på begrensningene du kan møte her, hvordan kan du tillate tilgang til nettstedet, og hvordan det skal vedlikeholdes og administreres.

Den første delen av dette planlegger, som jeg vil dekke her. Gjennom denne serien skal jeg jobbe på en imaginær kunnskapsbase, og jeg vil gi noen kode slik at du kan bruke den selv.

Identifisere kunnskapsbasens innhold

Det første trinnet er å identifisere hvilke typer innhold din kunnskapsbase vil inneholde. Min kunnskapsbase kommer til å være en ressurs for WordPress-brukere og utviklere.

Det vil inneholde følgende typer innhold:

  • Spørsmål og svar
  • Rask tips
  • Guider
  • Tekstutdrag
  • lenker
  • videoer

Dette innholdet blir deretter sortert i henhold til målgruppen og temaene på høyt nivå. Det vil også benytte tagger for mer detaljert sortering.

Mitt publikum er delt inn i to grupper:

  • brukere
  • utviklere

For utviklere er emner på høyt nivå:

  • Temautvikling
  • Plugin Development
  • funksjoner
  • Handling og filter kroker
  • Spørsmål og databasen

For brukere er emner på høyt nivå:

  • Dashbordet
  • Legge til og redigere innhold
  • Mediebiblioteket
  • Installere, tilpasse og aktivere temaer
  • Installere, tilpasse og aktivere plugger
  • innstillinger
  • Webområdeadministrasjon

Som allerede nevnt vil nettstedet også bruke tagger som vil bli lagt til av bidragsytere. Disse vil ikke være spesifikke for brukere eller utviklere.

Nettstedet vil bli administrert av et imaginært team av WordPress-eksperter som er opptatt med annet arbeid, så det må kunne legges til innhold raskt. Noen av dem bruker WordPress mobilappen for å legge til innhold.

Etter å ha identifisert hva innholdet mitt må være, må jeg matche det til WordPress-innholdstyper.

Matcher dine krav til WordPress

Som med så mange aspekter ved å utvikle med WordPress, er det ikke nødvendigvis bare en måte å matche innholdet ditt på som WordPress er organisert. For å identifisere den mest hensiktsmessige for deg, må du begynne med å forstå hvordan WordPress organiserer innhold.

WordPress-innholdstyper

Ut av boksen kommer WordPress med tre innholdstyper:

  • innlegg
  • sider
  • vedlegg

Vær oppmerksom på at det finnes andre innholdstyper i WordPress, for eksempel koblinger, kommentarer og navigasjonsmenyelementer, men de tre ovenfor er de som er mest relevante her.

Du kan også legge til dine egne innholdstyper, og skape så mange som du trenger, ved hjelp av egendefinerte innleggstyper. Disse kan oppføre seg som innlegg eller sider, hovedforskjellen er at sidene er hierarkiske og innlegg ikke er. I dette tilfellet er hierarkiet ikke et problem for mine hovedinnholdstyper.

WordPress Taxonomies

WordPress har to taksonomier innebygd, som du kan bruke med innlegg, sider og egendefinerte innleggstyper:

  • kategori 
  • stikkord

I tillegg kan du registrere ekstra taksonomier for å muliggjøre bedre sortering og spørring av dataene dine.

Identifisere det du trenger

Hvis kunnskapsbasen din har flere innholdstyper, kan du håndtere dette på en av tre måter:

  • Bruk en innholdstype (for eksempel innlegg) og bruk kategorier for å identifisere hvilken innholdstype hver er.
  • Bruk en innholdstype (for eksempel innlegg) og bruk en tilpasset taksonomi for å identifisere innholdstypen.
  • Registrer en posttype for hver av innholdstypene dine.

Det første alternativet er det enkleste for nybegynnere, siden du ikke trenger å skrive noen egendefinert kode og kan arbeide med WordPress som det kommer. Det andre alternativet gir deg mer fleksibilitet og er en effektiv tilnærming hvis du vil liste opp alle innholdstyper sammen, i stedet for å splitte dem opp. Det er også nyttig hvis et innhold kan komme under mer enn én innholdstype. Det tredje alternativet gir deg størst fleksibilitet så lenge innholdstypene dine alltid vil være separate.

Når det gjelder kunnskapsbasen min, kan noe av innholdet mitt være mer enn en innholdstype (for eksempel kan et raskt tips være i form av en video eller inkludere en lenke), så jeg skal ikke registrere forskjellige posttyper . I stedet lager jeg en tilpasset taksonomi for innholdstypene mine.

I tillegg til innholdstyper, må jeg tenke på hvordan dataene mine er kategorisert. Hvert innlegg vil være i ett eller flere emner med ett eller flere publikum. Som temaene er tydelig tilpasset de to målgruppene, skal jeg registrere to taksonomier: en for brukeremner og en for utvikleremner. Dette betyr at jeg kan liste emnene for hvert publikum på de relevante sidene på nettstedet.

Dette betyr at min kunnskapsbase vil bruke følgende:

  • innlegg
  • sider
  • tags
  • tre egendefinerte taksonomier: bruker emne, utvikler emne og innholdstype

Så jeg må registrere disse tre taksonomiene, men trenger ikke å registrere noen innleggstyper. I tillegg, siden jeg ikke vil bruke innebygde kategorier, skal jeg slå dem av slik at forfatterne mine ikke tilfeldigvis tilordner elementer til kategorier.

Planlegg din kunnskapsbas struktur

Nå som jeg vet hvilket innhold min kunnskapsbase vil inkludere og hvordan dataene blir lagret, må jeg tenke på strukturen på kunnskapsbasens sider. Nettstedet vil bruke en kombinasjon av arkiver og statiske sider, med en startside, inkludert de siste innleggene fra alle emner.

Jeg må også tenke på navigasjonen min - i tillegg til navigering i menyen, jeg skal inkludere emnenavigering i sidefeltet, og også en søkeboks.

Sidestruktur

Så, min side vil inkludere:

  • en startside med de siste innleggene fra alle emner
  • en statisk side for hver av de to brukergruppene og for innholdstypene
  • en arkivside for hver innholdstype
  • en arkivside for hver taksonomi
  • Enkelt sider for hvert innlegg

Sidefelt og bunntekst

Jeg vil inkludere et sidebar og en bunntekst på alle sidene på nettstedet mitt, men jeg skal variere det litt i henhold til hvilket område av nettstedet brukeren er i.

Her er hva som vil være i sidefeltet:

  • På alle sider vil det være en søkeboks øverst.
  • På hjemmesiden, søkesiden og 404 sider vil det være lenker til hver av bruker- og utviklersidene, med en liste over relevante taksonomiske vilkår under hver med lenker, og en liste over innholdstyper med linker til arkivsidene.
  • På brukersiden og arkivsidene for brukerens tema taksonomi vil det være lenker til brukerens tema taksonomi vilkår arkiver.
  • På utviklerens side og arkivsidene for taksonomien for utviklerens tema, vil det være lenker til utviklingsemnet taksonomi vilkår arkiver.
  • På innholdstypesiden og arkivsidene for innholdstypegratonomien, vil det være en liste over innholdstyper med linker til arkivsidene.
  • På en enkelt side vil vi ha linker til arkivene for brukerens emne og utvikler-taksonomier.

Alt dette høres litt komplisert, men det begynner å gi mening når vi begynner å bygge den. Jeg lager hver av disse elementene med en funksjon, og deretter bruker du betingede tagger for å feste funksjonene til en handlingskrog som jeg legger til i sidefeltet. Jeg vil også legge til et widgetområde til sidelinjen, bare i tilfelle.

Footer vil inneholde lister over taksonomi vilkårene for alle tre av mine emner pluss en liste over de siste innleggene.

Malfiler

Dette betyr at jeg trenger følgende malfiler:

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

Kroker og funksjoner

Jeg legger til en handlingskrok, som vil hjelpe meg å fylle sidebjørene: a tutsplus_sidebar Handling krok inn sidebar.php.

Jeg lager en funksjon knyttet til denne kroken, som vil inneholde følgende lister:

  • koblinger til arkivsidene for brukeravgiftstaksjonsbetingelsene
  • koblinger til arkivsidene for utviklingsemnerens taksonomi
  • lenker til arkivene for innholdstypen taksonomi vilkårene.

Hver av disse vil inneholde betingede koder, slik at de legges til sidelinjen på høyre side.

Sammendrag

Jeg har nå en plan for innholdet og strukturen til min kunnskapsbase, og jeg har matchet det til WordPress-evner. Så jeg har identifisert nøyaktig hva jeg trenger å opprette i WordPress for å gjøre dette kunnskapsbasen arbeidet.

Selv om det er fristende å dykke inn og starte koding, er det en god ide å bruke litt tid på å planlegge kunnskapsbasen på denne måten, slik at du vet nøyaktig hvilke malfiler og funksjoner du trenger. På den måten når du kommer til å skrive koden, blir det mye raskere.

I neste del av denne serien vil jeg vise deg hvordan du registrerer posttyper og taksonomier for din kunnskapsdatas data og fjern alt du ikke trenger.