Opprettelse av WordPress Knowledge Base sin forside

I den forrige delen av denne serien viste jeg deg hvordan du registrerer egendefinerte taksonomier for din kunnskapsbase og avregistrere de du ikke trenger.

Det neste trinnet er å skape frontend, ved å lage og / eller redigere eventuelle malfiler vi trenger og legge til funksjoner for tilpasset navigering.

Hva du trenger

For å følge denne opplæringen trenger du

  • en utviklingsinstallasjon av WordPress
  • en tekstredigerer
  • et starttema

1. Opprette malfiler

Hvis du vil huske, i den første delen av denne serien når vi planla kunnskapsbasen, identifiserte vi følgende maler:

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

Begynnertemaet jeg bruker inneholder allerede alle disse, noe som er gode nyheter. Jeg må redigere sidebar.php, for å aktivere kontekstsensitiv navigasjon som var en del av den opprinnelige planen. Jeg kommer snart til dette.

Hvis du bruker ditt eget tema, og det ikke inneholder alle disse malfilene, må du opprette dem. Alternativt, hvis din index.php eller loop.php fil (hvis du har en) inneholder koden som er nødvendig for effektivt å vise enkelt innlegg og taksonomiarkiver, kan det hende du vil holde fast ved det.

Jeg kommer ikke til å jobbe gjennom hver av malfiler, men la oss se en rask titt på archive.php for å se hvordan det fungerer i mitt tema:

 

Arkiver for Arkiver for Arkiver for Navn; ?>

>
"> 'left', 'alt' => trim (strip_tags ($ wp_postmeta -> _ wp_attachment_image_alt)))); ?>

"title =""rel =" bokmerke ">

Som du kan se, bruker malen objektorientert CSS til å angi bredden på elementene og gir mulighet for visning av kjente bilder hvis innlegget har en. I en kunnskapsbase er det mindre sannsynlig at du bruker uthevede bilder, men det er ikke umulig, så jeg lar dem gå. Hvis innlegg ikke har kjente bilder, vil tittelen og utsnittet fortsatt vises.

2. Opprette sidebarnavigasjonen

Det neste trinnet er å opprette kontekstavsensitiv navigasjon i sidefeltet. Jeg skal ikke legge til dette i sidebar.php fil; I stedet legger jeg til en handlingskrog på den filen og deretter oppretter en funksjon som jeg legger til den handlingen.

Opprette handlingen

Åpne temaet ditt sidebar.php fil. Mine ser slik ut:

   

For øyeblikket inkluderer dette bare widget-området. Jeg vil beholde dette, men legg til en krok over den.

Over hvis (er_aktiv_sidebar ()) linje, legg til følgende:

do_action ('tutsplus_sidebar');

Dette skaper en handlingskrog ved hjelp av do_action () funksjon. Eventuelle funksjoner du knytter til den kroken, vil bli sparket på det tidspunktet i malfilen din, så alt som vises via kroken vil dukke opp før widgetområdet. Hvis du helst vil ha kroken under widgetområdet, må du bare legge til koden etter widget-området i stedet.

Opprette funksjoner

Da jeg planla min kunnskapsbase, identifiserte jeg tre lister jeg ville trenge i forskjellige sidebjelker:

  1. koblinger til arkivsidene for brukeravgiftstaksjonsbetingelsene
  2. koblinger til arkivsidene for utviklingsemnerens taksonomi
  3. lenker til arkivene for innholdstypen taksonomi vilkårene

Hver av disse må inneholde betingede koder, slik at de legges til sidefeltet på høyre side. De kan alle inkluderes i en funksjon, men med en rekke betingede koder.

Så la oss skrive dem!

Vær oppmerksom på at siden noen av de betingede kodene skal oppdage statiske sider, må du opprette tre statiske sider før du starter: for brukere, utviklere og innholdstyper.

Brukerens emneliste

Først opp er en liste over brukeremner. Dette inkluderer en lenke til hovedarkivsiden for taksonomien øverst. Det første trinnet er å skape funksjonen, og inne i det legger du til et betinget merke for å sjekke hvilken del av nettstedet vi er i.

Åpne din functions.php fil og legg til følgende:

funksjon tutsplus_sidebar_content () // brukerens emneliste hvis (is_tax ('usertopic') || er_front_page () || er_page (31) || er_single ()) ?> 

Dette skaper en tom funksjon med vår første betingede kode, og legger den til tutsplus_sidebar krok vi legger til sidebar.php fil.

Legg nå innholdet i din betingede funksjon slik at den leser som følger:

hvis (is_tax ('usertopic') || er_front_page () || er_page (31) || er_single ()) ?>  

Dette gir en liste over vilkår i taksonomi for brukeroppgaver, med koblinger til arkivsider, under en overskrift, ved hjelp av følgende WordPress-funksjoner:

  • get_terms () å hente en liste over taksonomiske vilkår
  • get_term_link () å sende ut en lenke til termens arkivside

Legg merke til at is_page (31) sjekk må ha en annen side-ID, avhengig av brukerens ID-side du har opprettet.

Utviklerens emneliste

Nå under den betingede merket for brukerens emneliste, og fortsatt inne i tutsplus_sidebar_content () funksjon, legg til koden for utviklerens emner, som er veldig lik:

// utviklerens emneliste hvis (is_tax ('developertopic') || is_front_page () || is_page (33) || er_single ()) ?>  

Innholdstyper listen

Til slutt legger du til koden for innholdstypene, fremdeles inne i tutsplus_sidebar_content () funksjon:

// innholdstyper liste hvis (is_tax ('innholdstype') || is_front_page () || is_page (37) || er_single ()) ?>  

Hele funksjonen din vil nå se slik ut:

funksjon tutsplus_sidebar_content () // brukerens emneliste hvis (is_tax ('usertopic') || er_front_page () || er_page (31) || er_single ()) ?>      

Du finner nå at når du oppretter innlegg og tilordner taksonomiske vilkår til dem, vil vilkårene dukke opp i det aktuelle sidebjørnet.

Vær oppmerksom på at eventuelle vilkår uten innlegg som er tildelt dem ikke vil bli sendt ut, så vær ikke overrasket hvis lister er tomme først.

Etter at du har gjort dette og lagt til noen innlegg, vil sidebjørene vise en liste over taksonomiske vilkår, avhengig av hvor du befinner deg på nettstedet. På brukere side (og bruker-taksonomi-termarkivene), vil du se listen over brukeremner:

Når du er i et termarkarkiv i taksonomien for utvikleremner, ser du en liste over alle vilkårene i den taksonomien med innlegg knyttet til dem:

Og på hjemmesiden og enkeltsidene ser du en liste over alle vilkårene:

Sammendrag

Din kunnskapsbase har nå en frontend-struktur med maler og funksjoner på plass for å støtte den.

Hvis du vil, kan du ta noen av disse teknikkene videre for å legge til flere navigasjoner til nettstedet ditt. For eksempel kan du:

  • legg til en liste over de siste innleggene i sidefeltet på enkelt innleggssider
  • Legg til en liste over vilkårene som nåværende innlegg har til sidefeltet på enkelt innleggssider
  • Opprett en sidemal for brukerne, utviklerne og innholdstypene for å vise de nyeste innleggene i hvert av vilkårene for hver taksonomi

Du kan kanskje tenke på mer som er relevante for din egen kunnskapsbase, men disse bør gi deg en smak av mulighetene.

I den siste delen av denne serien tar jeg deg gjennom trinnene som trengs for å gjøre din kunnskapsbase levende og hensynene du må ta hensyn til.