Under hela serien har vi tittat på WordPress-taxonomierna: vad de är, hur de fungerar, hur man skiljer dem mellan olika typer som finns och hur de lagras i den underliggande databasen.
Det enda som vi ännu har att göra är att faktiskt sätta ihop ett plugin som visar hur man använder API för att implementera våra egna taxonomier. Så i det här inlägget kommer vi att göra exakt det.
Återkalla från första inlägget i serien:
taxonomi är ett av de ord som de flesta aldrig hör eller använder. I grund och botten är en taxonomi ett sätt att gruppera saker tillsammans.
Och genom hela serien har vi använt fotografi och videografi som våra exempel på klassificeringar. Så för plugin som vi ska bygga, kommer vi att inkludera både hierarkiska och icke-hierarkiska taxonomier som är relevanta för båda dessa klassificeringar.
Slutligen kommer pluginet att fungera med den befintliga standardposttypen som skickas med WordPress. Detta bör ge största möjliga flexibilitet när det gäller att bygga ett plugin, visa koncepten och använda det i din egen installation.
I samband med exemplet plugin ska vi ringa det Mina anpassade taxonomier och vi kommer att bygga den i följande steg:
Innan du gör något annat, fortsätt och skapa en katalog i wp-content / plugins
kallad my-anpassade-taxonomier
och presentera en fil som heter my-custom-taxonomies.php
.
Lägg till följande kodkommentoblock i filen:
Vid den här tiden borde du kunna logga in på WordPress-instrumentpanelen, se namnet på pluginet och aktivera det. Naturligtvis kommer ingenting att hända eftersom vi inte har gjort någonting med källkoden ännu.
Därefter måste vi skapa en annan fil som kommer att användas för att faktiskt driva plugin. Detta kommer att baseras på objektorienterade programmeringsprinciper så vi skapar en fil som heter
klass-my-custom-taxonomies.php
.Oroa dig inte om att fylla den med någon källkod just än. Låt oss återvända till
my-custom-taxonomies.php
och lägg till en villkorlig för att säkerställa att kärnprofilfilen inte kan köras utanför WordPress-miljön.Placera detta direkt under kodkommentaren som vi angav ovan.
2. Utför Core Plugin
Vid denna tidpunkt är vi redo att skriva kod som faktiskt kommer att driva plugin. Så låt oss definiera klassen och en grundläggande funktion för initialisering:
* / klass My_Custom_Taxonomies / ** * Initierar plugin-programmet genom att registrera de krokar som är nödvändiga * för att skapa våra anpassade taxonomier inom WordPress. * * @since 1.0.0 * / public function init ()Efter det, låt oss återvända till
my-custom-taxonomies.php
och lägg till en kod för att inkludera filen samt en metod som kommer att skapa en förekomst av klassen och utföra den:i det(); custom_taxonomies_run ();Nu har vi allt vi behöver för att börja sätta upp våra krokar och callbacks för att skapa våra egna taxonomier.
3. presentera fotografier och videoklipp
Vid denna tidpunkt är vi redo att börja introducera våra taxonomier. Vi fokuserar först på våra två hierarkiska taxonomier - fotografier och videoklipp.
I kroppen av klassen av
klass-my-custom-taxonomies.php
fil, lägg till följande funktion:'Fotografering', 'singular_name' => 'Fotografi', 'edit_item' => 'Redigera foto', 'update_item' => 'Uppdatera fotografi', 'add_new_item' => 'Lägg till ny bild', 'menu_name' => ' Fotografier "); $ args = array ('hierarchical' => true, 'labels' => $ etiketter, 'show_ui' => true, 'show_admin_column' => true, 'rewrite' => array ('slug' => 'fotografi') ); register_taxonomy ('fotografi', 'post', $ args);Denna funktion är ansvarig för att skapa fotografier taxonomi och kommer att hämtas från init-funktionen när tiden är rätt.
Nu, låt oss göra samma sak för videoklipp:
'Videos', 'singular_name' => 'Video', 'edit_item' => 'Redigera video', 'update_item' => 'Uppdatera video', 'add_new_item' => 'Lägg till ny video', 'menu_name' => ' Videoklipp' ); $ args = array ('hierarchical' => false, 'labels' => $ etiketter, 'show_ui' => true, 'show_admin_column' => true, 'rewrite' => array ('slug' => 'video') ); register_taxonomy ('video', 'post', $ args);Låt oss kalla dessa två från init-funktionen. Vi gör det genom att registrera dessa funktioner med
i det
krok som tillhandahålls av WordPress:Här borde vi kunna gå vidare till Lägg till ny post och se våra nya taxonomi alternativ synliga i instrumentbrädan. Om inte, dubbelkolla din kod mot det som delas ovan.
Nu när vi har introducerat våra hierarkiska taxonomier, låt oss fortsätta att introducera vår Filmtyp - eller vår icke-hierarkiska - taxonomi.
4. presentera Filmtyp
Det här är verkligen inte så mycket annorlunda än koden som vi har skrivit fram till denna punkt. Egentligen är den största skillnaden det istället för att ange
hierarkisk
somSann
, Vi ställer in det somfalsk
.'Filmtyp', 'singular_name' => 'Filmtyp', 'edit_item' => 'Redigera filmtyp', 'update_item' => 'Uppdatera filmtyp', 'add_new_item' => 'Lägg till ny filmtyp' menynamn '=>' Filmtyp '); $ args = array ('hierarchical' => false, 'labels' => $ etiketter, 'show_ui' => true, 'show_admin_column' => true, 'rewrite' => array ('slug' => 'filmtyp ')); register_taxonomy ('film-typ', 'post', $ args);Detta kommer att leda till en annan typ av användargränssnitt som ser mer ut som taggar än de kategorin alternativ som du ser ovan.
Slutligen lägg till följande rad i init-metoden tillsammans med resten av krokarna:
Observera att funktioner fungerar mer som taggar som kategorier. Återigen, för att upprepa, det är en av de största skillnaderna i hierarkiska och icke-hierarkiska taxonomier.
5. Testning av hela pluggen
Nu är vi redo att ge pluggen en snurrning. Förutsatt att du har följt allt korrekt under hela handledningen bör du kunna skapa ett nytt inlägg, stämpla det med en typ av Fotografera eller en typ av Video liksom en typ av Filma och få det att fortsätta ändringarna efter att du har sparat eller uppdaterat ditt inlägg.
Om inte, dubbelkryssa din kod med vad som hänvisas här och med vad som hänvisas i det tillhörande GitHub-arkivet.
Slutsats
Det handlar om nybörjarens guide till WordPress-taxonomier. Under hela serien har vi tagit en bred titt på en definition av vilka taxonomier, vilken roll de spelar i WordPress, och vi har även genomfört några av våra egna.
Vid denna tidpunkt borde du ha en gedigen förståelse för konceptet och hur du ska fortsätta med att inkludera dem i ditt nästa projekt.
Om inte, tveka inte att lämna frågor, kommentarer eller allmän feedback i fältet nedan.