In deze reeks hebben we gekeken naar WordPress-taxonomieën: wat ze zijn, hoe ze werken, hoe ze te differentiëren tussen de verschillende typen die bestaan en hoe ze worden opgeslagen in de onderliggende database.
Het enige dat we nog moeten doen is eigenlijk een plug-in samenstellen die laat zien hoe de API te gebruiken om onze eigen aangepaste taxonomieën te implementeren. Dus in dit bericht gaan we precies dat doen.
Terugroepen vanaf het eerste bericht in deze serie:
taxonomie is een van die woorden die de meeste mensen nooit horen of gebruiken. Kortom, een taxonomie is een manier om dingen samen te brengen.
En gedurende deze reeks hebben we fotografie en videografie als voorbeelden van classificaties gebruikt. Dus voor de plug-in die we gaan bouwen, nemen we zowel hiërarchische als niet-hiërarchische taxonomieën op die relevant zijn voor beide classificaties.
Ten slotte gaat de plug-in werken met het bestaande standaard berichttype dat wordt geleverd met WordPress. Dit zou de meeste flexibiliteit moeten geven in verband met het bouwen van een plug-in, het demonstreren van de concepten en het gebruik ervan in uw eigen installatie.
Voor de doeleinden van de voorbeeldplug-in, zullen we het noemen Mijn aangepaste taxonomieën en we gaan het in de volgende fasen bouwen:
Voordat je iets anders gaat doen, ga je gang en maak je een map aan in wp-content / plugins
riep my-maat-taxonomieën
en introduceer een bestand met de naam my-maat-taxonomies.php
.
Voeg binnen het bestand het volgende commentaarblok toe:
Op dit punt zou u zich moeten kunnen aanmelden bij het WordPress-dashboard, de naam van de plug-in kunnen zien en deze moeten activeren. Natuurlijk gebeurt er niets, omdat we nog niets hebben gedaan met de broncode.
Vervolgens moeten we een ander bestand maken dat wordt gebruikt om de plug-in daadwerkelijk van stroom te voorzien. Dit zal gebaseerd zijn op object-georiënteerde programmeerprincipes, dus we zullen een bestand aanmaken genaamd
class-my-maat-taxonomies.php
.Maak je geen zorgen over het invullen ervan met enige broncode. Laten we terugkeren naar
my-maat-taxonomies.php
en voeg een voorwaarde toe om ervoor te zorgen dat het bestand met de kerninvoegtoepassing niet buiten de WordPress-omgeving kan worden uitgevoerd.Plaats dit direct onder de codecommentaar die we hierboven hebben verstrekt.
2. De kernplug-in uitvoeren
Op dit moment zijn we klaar om code te schrijven die de plug-in daadwerkelijk zal aandrijven. Dus laten we de klasse definiëren en een basisfunctie voor initialisatie:
* / class My_Custom_Taxonomies / ** * Initialiseert de plug-in door de benodigde haken * te registreren voor het maken van onze aangepaste taxonomieën binnen WordPress. * * @since 1.0.0 * / openbare functie init ()Daarna gaan we terug naar
my-maat-taxonomies.php
en voeg een code toe om het bestand op te nemen en een methode om een instantie van de klasse te maken en uit te voeren:in het(); custom_taxonomies_run ();Nu hebben we alles wat we nodig hebben om te beginnen met het opzetten van onze hooks en callbacks om onze aangepaste taxonomieën te maken.
3. Introduceer foto's en Videos
Op dit moment zijn we klaar om onze taxonomieën te introduceren. We zullen eerst focussen op onze twee hiërarchische taxonomieën - foto's en Videos.
In het lichaam van de klasse van
class-my-maat-taxonomies.php
bestand, voeg de volgende functie toe:'Foto's', 'singular_name' => 'Foto', 'edit_item' => 'Foto bewerken', 'update_item' => 'Foto bijwerken', 'add_new_item' => 'Nieuwe foto toevoegen', 'menu_name' => ' Foto's '); $ args = array ('hierarchical' => true, 'labels' => $ labels, 'show_ui' => true, 'show_admin_column' => true, 'rewrite' => array ('slug' => 'foto') ); register_taxonomy ('foto', 'post', $ args);Deze functie is verantwoordelijk voor het maken van de foto's taxonomie en wordt aangeroepen vanuit de init-functie wanneer de tijd rijp is.
Laten we nu hetzelfde doen Videos:
'Videos', 'singular_name' => 'Video', 'edit_item' => 'Video bewerken', 'update_item' => 'Video updaten', 'add_new_item' => 'Nieuwe video toevoegen', 'menu_name' => ' Videos' ); $ args = array ('hierarchical' => false, 'labels' => $ labels, 'show_ui' => true, 'show_admin_column' => true, 'rewrite' => array ('slug' => 'video') ); register_taxonomy ('video', 'post', $ args);Laten we deze twee vanuit de init-functie noemen. We doen dit door deze functies te registreren bij de
in het
hook zoals geleverd door WordPress:Hier zouden we naartoe moeten kunnen gaan Voeg nieuwe bericht toe en zie onze nieuwe taxonomie-opties zichtbaar in het dashboard. Als dat niet het geval is, controleert u uw code nogmaals op wat hierboven is gedeeld.
Nu we onze hiërarchische taxonomieën hebben geïntroduceerd, gaan we verder met het introduceren van onze Film type - of onze niet-hiërarchische - taxonomie.
4. Introduceer Film type
Dit verschilt echt niet zoveel van de code die we tot nu toe hebben geschreven. Echt, het belangrijkste verschil is dat in plaats van opgeven
hiërarchische
zoalswaar
, we zullen het zo instellenvals
.'Filmtype', 'singular_name' => 'Filmtype', 'edit_item' => 'Bewerk filmtype', 'update_item' => 'Update Film Type', 'add_new_item' => 'Nieuw filmtype toevoegen', ' menu_name '=>' Filmtype '); $ args = array ('hierarchical' => false, 'labels' => $ labels, 'show_ui' => true, 'show_admin_column' => true, 'rewrite' => array ('slug' => 'filmtype ')); register_taxonomy ('filmtype', 'bericht', $ args);Dit resulteert in een ander type gebruikersinterface-element dat meer op tags lijkt dan op de categorie-opties die u hierboven ziet.
Voeg ten slotte de volgende regel toe aan de methode init samen met de rest van de hooks:
Merk op dat functies meer op tags van categorieën lijken. Nogmaals, om te herhalen, dat is een van de belangrijkste verschillen in hiërarchische en niet-hiërarchische taxonomieën.
5. Testen van de volledige plug-in
Nu zijn we klaar om de plug-in een draai te geven. Ervan uitgaande dat je alles in deze tutorial correct hebt gevolgd, zou je in staat moeten zijn om een nieuw bericht te maken, het te stempelen met een type Fotograaf of een type Video evenals een type Film en laat het de wijzigingen behouden na het opslaan of bijwerken van uw bericht.
Als dat niet het geval is, controleer dan uw code met wat hier wordt vermeld en met waarnaar wordt verwezen in de bijbehorende GitHub-repository.
Conclusie
Dat is de Beginner's Guide to WordPress Taxonomies. Gedurende de reeks hebben we uitgebreid gekeken naar een definitie van wat taxonomieën zijn, de rol die ze spelen in WordPress en we hebben zelfs een paar van onze eigen.
Op dit punt moet u een goed begrip hebben van het concept en hoe u verder kunt gaan met het opnemen ervan in uw volgende project.
Als dat niet het geval is, aarzel dan niet om vragen, opmerkingen of algemene feedback achter te laten in het onderstaande veld.