På dette stadiet bør du allerede ha en plan for din kunnskapsbasert struktur og eventuelle posttyper og taksonomier du må bruke til å lagre dataene dine.
Det neste trinnet er å skape strukturen for dataene dine.
I denne opplæringen tar jeg deg gjennom:
For å følge denne opplæringen trenger du
Som mitt starttema skal jeg bruke et tema jeg utviklet for en tidligere opplæring om å bygge et WordPress-tema. Temaet er inkludert i kodepakken for denne opplæringen. Hvis du foretrekker det, kan du bruke ditt eget tema eller en som du har lastet ned fra temaarkivet.
Før du begynner, hvis du bruker et tema du har lastet ned, må du endre navn på mappen og redigere stilarket for å gjenspeile ny bruk av temaet..
Så mitt stilark har nå følgende i begynnelsen:
/ * Tema navn: Opprette en kunnskapsbase i WordPress - start tema Tema URI: http://rachelmccollin.co.uk Forfatter: Rachel McCollin Forfatter URI: http://rachelmccollin.co.uk Beskrivelse: Temaet som følger med wptutsplus serie om å skape en kunnskapsbase ved hjelp av WordPress. Dette er starttemaet. Versjon: 1.0 Lisens: GNU General Public License v2 eller nyere Lisens URI: http://www.gnu.org/licenses/gpl-2.0.html * /
Hvis din kunnskapsbase bruker vanlige posttyper, må du registrere dem. Du gjør dette ved å legge til register_post_type ()
funksjon til temaet ditt functions.php
fil.
Min kunnskapsbase vil bare bruke innlegg med egendefinerte taksonomier, så jeg må bruke register_taxonomy ()
funksjon.
Åpne din functions.php
fil. Hvis du bruker starttemaet mitt, har det allerede noen funksjoner i det, som legger til tema støtte for kjente bilder og registrerer noen widgets. Under den siste funksjonen, legg til følgende for å registrere innholdstype taksonomi:
funksjon tutsplus_taxonomies () // Innholdstype taxonomy $ labels = array ('name' => __ ('Innholdstyper', 'tutsplus'), 'singular_name' => __ ('Innholdstype', 'tutsplus') ' search_items '=> __ (' Søk innholdstyper ',' tutsplus '),' all_items '=> __ (' Alle innholdstyper ',' tutsplus '),' edit_item '=> __ (' Rediger innholdstype ',' tutsplus '),' update_item '=> __ (' Oppdater innholdstype ',' tutsplus '),' add_new_item '=> __ (' Legg til nytt innholdstype ',' tutsplus '),' new_item_name '=> __ Type navn ',' tutsplus '),' menu_name '=> __ (' Innholdstyper ',' tutsplus '),); $ args = array ('hierarchical' => true, 'labels' => $ etiketter, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array '=>' innholdstype '),); register_taxonomy ('contenttype', array ('post'), $ args); add_action ('init', 'tutsplus_taxonomies');
Du får nå en ekstra taksonomi som dukker opp i administrasjonen for innlegg:
Deretter må du legge til ytterligere taksonomier. Jeg bruker to flere: Brukeremner og Utvikleremner. Inne i tutsplus_taxonomies ()
Fungerer du allerede opprettet, registrer hver av disse ved hjelp av register_taxonomy ()
. Hele funksjonen din vil nå se slik ut:
funksjon tutsplus_taxonomies () // Innholdstype taxonomy $ labels = array ('name' => __ ('Innholdstyper', 'tutsplus'), 'singular_name' => __ ('Innholdstype', 'tutsplus') ' search_items '=> __ (' Søk innholdstyper ',' tutsplus '),' all_items '=> __ (' Alle innholdstyper ',' tutsplus '),' edit_item '=> __ (' Rediger innholdstype ',' tutsplus '),' update_item '=> __ (' Oppdater innholdstype ',' tutsplus '),' add_new_item '=> __ (' Legg til nytt innholdstype ',' tutsplus '),' new_item_name '=> __ Type navn ',' tutsplus '),' menu_name '=> __ (' Innholdstyper ',' tutsplus '),); $ args = array ('hierarchical' => true, 'labels' => $ etiketter, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array '=>' innholdstype '),); register_taxonomy ('contenttype', array ('post'), $ args); // Brukeremne taxonomy $ labels = array ('name' => __ ('Brukeremner', 'tutsplus'), 'singular_name' => __ ('User Topic', 'tutsplus'), 'search_items' => __ ('Søk brukerens emner', 'tutsplus'), 'all_items' => __ ('Alle brukeremner', 'tutsplus'), 'edit_item' => __ ('Rediger brukerinteress', 'tutsplus'), 'update_item '=' __ ('Oppdater brukeremne', 'tutsplus'), 'add_new_item' => __ ('Legg til nytt brukeremne', 'tutsplus'), 'new_item_name' => __ ('Ny brukerobjektnavn' tutsplus '),' menu_name '=> __ (' User Topics ',' tutsplus '),); $ args = array ('hierarchical' => true, 'labels' => $ etiketter, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array '=>' bruker-emner '),); register_taxonomy ('usertopic', array ('post'), $ args); // Utvikler emne taksonomi $ labels = array ('name' => __ ('Developer Topics', 'tutsplus'), 'singular_name' => __ ('Developer Topic', 'tutsplus'), 'search_items' => __ ('Search Developer Topics', 'tutsplus'), 'all_items' => __ ('Alle utvikleremner', 'tutsplus'), 'edit_item' => __ ('Rediger Developer Topic', 'tutsplus'), 'update_item '=> __ (' Oppdater Developer Topic ',' Tutsplus '),' add_new_item '=> __ (' Legg til ny utvikler emne ',' tutsplus '),' new_item_name '=> __ tutsplus '),' menu_name '=> __ (' Developer Topics ',' tutsplus '),); $ args = array ('hierarchical' => true, 'labels' => $ etiketter, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array '=>' utvikler-emner '),); register_taxonomy ('developertopic', array ('post'), $ args); add_action ('init', 'tutsplus_taxonomies');
Du har nå tre taksonomier for bruk med innlegg:
Siden min kunnskapsbase ikke vil bruke kategorier, vil jeg fjerne dem fra administrasjonen slik at folk som skriver inn data, ikke bruker dem ved et uhell når de skal bruke taksonomiene.
Måten du gjør dette er en liten counterintuitive, da det ikke er en funksjon for avregistrering av taksonomier. I stedet kjører du register_taxonomy ()
Fungerer uten parametere unntatt taksonomonavnet.
For å fjerne kategorier, legg til følgende i din functions.php
fil:
funksjon tutsplus_remove_taxonomies () register_taxonomy ('category', '); add_action (' init ',' tutsplus_remove_taxonomies ', 0);
Når du skyter dette via i det
krok, med en prioritet på 0
sikrer at denne funksjonen kjører etter at kjerneordet WordPress-funksjonen har satt opp kategorier i utgangspunktet.
Hvis du også vil fjerne tagger, vil du bare legge til følgende inne i tutsplus_rremove_taxonomies ()
funksjon:
register_taxonomy ('post_tag', ');
Du ser nå at bare koder og min egendefinerte taksonomier er tilgjengelige i oversikten:
Du har nå strukturen på plass for å kunne begynne å legge til data i din kunnskapsbase. Neste trinn er å skape frontend, som jeg vil dekke i neste opplæring. I den veiledningen vil jeg vise deg hvordan du oppretter egendefinerte malfiler, legger til kroker og lager kontekstspesifikke sidebjelker.