Gjennom hele denne serien har vi tatt en titt på WordPress-taksonomier: hva de er, hvordan de fungerer, hvordan å skille dem mellom de ulike typene som eksisterer og hvordan de lagres i den underliggende databasen.
Det eneste vi har å gjøre er faktisk å sette sammen et plugin som demonstrerer hvordan du bruker API til å implementere våre egne tilpassede taksonomier. Så i dette innlegget skal vi gjøre akkurat det.
Recall fra første innlegg i denne serien:
Taksonomi er et av de ordene de fleste aldri hører eller bruker. I utgangspunktet er en taksonomi en måte å gruppere ting sammen.
Og i hele denne serien har vi brukt fotografi og videografi som våre eksempler på klassifiseringer. Så for pluginet som vi skal bygge, vil vi inkludere både hierarkiske og ikke-hierarkiske taksonomier som er relevante for begge disse klassifiseringene.
Til slutt kommer pluginet til å fungere med den eksisterende standardposttypen som leveres med WordPress. Dette bør gi størst fleksibilitet når det gjelder å bygge et plugin, demonstrere konseptene og bruke det i din egen installasjon.
For formålet med eksemplet plugin, skal vi ringe det Mine egendefinerte taxonomier og vi skal bygge den i følgende faser:
Før du gjør noe annet, gå videre og opprett en katalog i wp-innhold / tillegg
kalt my-custom-taksonomier
og introdusere en fil som heter my-custom-taxonomies.php
.
Innenfor filen legger du til følgende kodekommentarblokk:
På dette tidspunktet bør du kunne logge inn på WordPress-dashbordet, se navnet på pluginet, og aktivere det. Selvfølgelig vil ingenting faktisk skje siden vi ikke har gjort noe med kildekoden enda.
Deretter må vi opprette en annen fil som vil bli brukt til å faktisk koble plugin. Dette vil være basert på objektorienterte programmeringsprinsipper, så vi lager en fil som heter
klasse-min-custom-taxonomies.php
.Ikke bekymre deg om å fylle den med noen kildekoden ennå. La oss gå tilbake til
my-custom-taxonomies.php
og legg til en betinget for å sørge for at kjernepluginfilen ikke kan kjøres utenfor WordPress-miljøet.Plasser dette direkte under kodekommentaren som vi oppgav ovenfor.
2. Utfør Core Plugin
På dette tidspunktet er vi klare til å skrive kode som faktisk skal kjøre plugin. Så la oss definere klassen og en grunnleggende funksjon for initialisering:
* / klasse My_Custom_Taxonomies / ** * Initialiserer pluginet ved å registrere kroker som er nødvendige * for å lage våre egendefinerte taksonomier innen WordPress. * * @since 1.0.0 * / offentlig funksjon init ()Etter det, la oss gå tilbake til
my-custom-taxonomies.php
og legg til en kode for å inkludere filen, samt en metode som vil opprette en forekomst av klassen og utføre den:i det(); custom_taxonomies_run ();Nå har vi alt vi trenger for å begynne å sette opp våre kroker og tilbakekallinger for å skape våre tilpassede taksonomier.
3. Innfør fotografier og videoer
På dette tidspunktet er vi klare til å begynne å introdusere våre taksonomier. Vi fokuserer først på våre to hierarkiske taksonomier - fotografier og videoer.
I kroppen av klassen av
klasse-min-custom-taxonomies.php
fil, legg til følgende funksjon:'Add_new_item' => 'Legg til nytt bilde', 'menu_name' => 'Legg til nytt bilde', 'meny_navn' = '' Fotografi ',' edit_item '=>' Rediger bilde ',' update_item '=>' Oppdater fotografi ' Fotografier '); $ args = array ('hierarchical' => true, 'labels' => $ etiketter, 'show_ui' => true, 'show_admin_column' => true, 'rewrite' => array ('slug' => 'fotografi') ); register_taxonomy ('fotografi', 'innlegg', $ args);Denne funksjonen er ansvarlig for å opprette fotografier taksonomi og vil bli kalt innfra init-funksjonen når tiden er riktig.
La oss nå gjøre det samme for videoer:
'Videoer', 'singular_name' => 'Video', 'edit_item' => 'Rediger video', 'update_item' => 'Oppdater video', 'add_new_item' => 'Legg til ny video', 'menu_name' => ' Videoer '); $ args = array ('hierarchical' => false, 'labels' => $ etiketter, 'show_ui' => true, 'show_admin_column' => true, 'rewrite' => array ('slug' => 'video') ); register_taxonomy ('video', 'post', $ args);La oss kalle disse to fra init-funksjonen. Vi gjør dette ved å registrere disse funksjonene med
i det
krok som gitt av WordPress:Her skal vi kunne gå over til Legg til nytt innlegg og se våre nye taksonomi alternativer synlige i dashbordet. Hvis ikke, dobbeltkryss koden din mot det som er delt ovenfor.
Nå som vi har introdusert våre hierarkiske taksonomier, la oss fortsette å introdusere vår Filmtype - eller vår ikke-hierarkiske - taksonomi.
4. Innfør Filmtype
Dette er egentlig ikke så mye forskjellig fra koden vi har skrevet opp til dette punktet. Egentlig er den viktigste forskjellen det i stedet for å spesifisere
hierarkisk
somekte
, vi setter det somfalsk
.'Filmtype', 'singular_name' => 'Filmtype', 'edit_item' => 'Rediger filmtype', 'update_item' => 'Oppdater filmtype', 'add_new_item' => 'Legg til ny filtype' menynavn '=>' Filmtype '); $ args = array ('hierarchical' => false, 'labels' => $ etiketter, 'show_ui' => true, 'show_admin_column' => true, 'rewrite' => array ('slug' => 'filmtype ')); register_taxonomy ('film-type', 'post', $ args);Dette vil resultere i en annen type brukergrensesnittelement som ser mer ut som koder enn de kategorivalgene du ser ovenfor.
Til slutt legger du til følgende linje i init-metoden sammen med resten av krokene:
Legg merke til at det fungerer mer som koder som kategoriserer. Igjen, for å gjenta, er det en av de viktigste forskjellene i hierarkiske og ikke-hierarkiske taksonomier.
5. Testing Full Plugin
Nå er vi klare til å gi pluggen et snurr. Forutsatt at du har fulgt alt riktig gjennom denne opplæringen, bør du kunne opprette et nytt innlegg, stemple det med en type Fotografi eller en type video så vel som en type Film og har det vedvarende endringene etter å lagre eller oppdatere innlegget ditt.
Hvis ikke, dobbeltkryss koden med det som er referert her og med det som er omtalt i det tilknyttede GitHub-depotet.
Konklusjon
Det bryter opp Beginners Guide til WordPress Taxonomies. Gjennom hele serien har vi tatt en bred titt på en definisjon av hvilke taksonomier, rollen de spiller i WordPress, og vi har selv implementert noen få av våre egne.
På dette tidspunktet bør du ha en solid forståelse av konseptet og hvordan du skal fortsette med å inkludere dem i ditt neste prosjekt.
Hvis ikke, ikke nøl med å legge igjen spørsmål, kommentarer eller generell tilbakemelding i feltet under.