» » WordPress: Schrijf uw eigen plugin, Deel 2

WordPress: Schrijf uw eigen plugin, Deel 2

Geplaatst in: Programmeren, Techniek, Web | 0

WordPress: Een Kunst Database, Deel 2

In het vorige deel van deze serie hebben we wat functionele eisen beschreven van onze plugin:

  • Interactie met Woocommerce
  • Interactie met Envira gallerie
  • Het kunnen toevoegen van meta-data vwb. de kunstwerken.

In dit tweede deel van deze series zullen we wat beginselen van WordPress plugin development onder de loep nemen. De basis van plugin ontwikkeling is beschreven in de uitstekende WordPress Codex. We zullen dit artikel als leidraad gebruiken teneinde onze eigen plugin te bouwen.

Hooks

Captain Hook
Captain Hook

Een hook, of haak maar voor de duidelijkheid blijven we de Engelse termen hier en daar gebruiken, is een manier waarmee de standaard WordPress functionaliteit ontsloten word. Het haakt dus inderdaad in de code. Voordat we dit kunnen gebruiken dienen we eerst te begrijpen wat voor soort hooks er bestaan in WordPress:

  • Acties
  • Filters

Met actie hooks kunt u functionaliteit toevoegen aan WordPress. Met filters kunt u content die door de core is gegenereerd aanpassen. Een praktisch voorbeeld van een filter is natuurlijk de shortcode die u waarschijnlijk al wel zult kennen.

Voor iedere plugin is het bijna verplicht om activatie hooks, deactivatie hooks en deinstallatie hooks te maken. Deze hooks zullen worden uitgevoerd wanneer u uw plugin activeert, deactiveert of verwijderd.

Een eerste Begin

We beginnen met het maken van een folder in onze WordPress DocumentRoot. U kunt uw DocumentRoot vaak eenvoudig vinden in de Apache webserver configuratie. Bij ons is dit /var/www/prd/3dn.nl. We zullen dit van nu af aan eenvoudigweg DOCROOT noemen. In de WordPress DOCROOT vindt u altijd een wp-content folder. Onder de wp-content folder vindt u de plugins folder dus in onze notatie DOCROOT/wp-contents/plugins.

Het maken van het begin is ontzettend eenvoudig. Wij noemen onze plugin simpelweg art_database:

Maak nu een folder DOCROOT/wp-contents/plugins/art_database aan.

In bovenstaande folder zullen we de code voor onze plugin in verschillende bestanden gaan toevoegen. We zullen deze folder voor het gemak ARTDB noemen,

Maak nu een bestand ARTDB/art_database.php aan

In dit bestand voegt u vast het volgende toe:

/*
Plugin Name: Art Database
*/

WordPress controleert de plugins folder en heeft onmiddelijk de nieuwe folder gezien. Nadat deze folder gezien is zal er gecontroleerd worden of er een gelijknamig bestand bestaat in de folder met een geldige WordPress header. Wanneer dit het geval is zal de plugin direct getoond worden in het lijstje.Tevens zult u ook al direct een Activate link vinden.

De Plugin Controverse: Hello Dolly!

Het is een haat/liefde verhouding die WordPress admins en developpers hebben. De verhouding met de Hello Dolly plugin. Sommige mensen gaan zo ver om te verkondigen dat de Hello Dolly plugin uit WordPress core verwijderd dient te worden omdat het nutteloos zou zijn. Niets is echter minder waar want Hello Dolly bevat waardevolle voorbeeld code voor beginners! Zo vinden we er bijvoorbeeld een veel vollediger header:

<?php
/**
 * @package Hello_Dolly
 * @version 1.6
 */
/*
Plugin Name: Hello Dolly
Plugin URI: https://wordpress.org/plugins/hello-dolly/
Description: This is not just a plugin, it symbolizes the hope and enthusiasm of an entire generation summed up in two words sung most famously by Louis Armstrong: Hello, Dolly. When activated you will randomly see a lyric from <cite>Hello, Dolly</cite> in the upper right of your admin screen on every page.
Author: Matt Mullenweg
Version: 1.6
Author URI: https://ma.tt/
Text Domain: hello-dolly
*/

Deze basis kunnen we natuurlijk uitstekend gebruiken om onze Kunst Database plugin vast wat beter te documenteren. Daarnaast vinden we wat add_action() calls in de code:

add_action( 'admin_notices', 'hello_dolly' );
add_action( 'admin_head', 'dolly_css' );

Hierin zijn admin_notices en admin_head zgn. flags terwijl hello_dolly en dolly_css zgn. callables zijn. We vinden de syntaxis van het add_action commando terug in de WordPress Coding Reference terug. Met bovenstaande constructies hebben we dus aan WordPress duidelijk gemaakt dat wanneer WordPress de acties admin_notices of admin_head aanroept dat onze eigen functies hello_dolly() en dolly_css() ook moeten worden aangeroepen. We hebben bewust ‘ook’ vetgedrukt want het is van belang om te begrijpen dat onze functie slechts word toegevoegd aan een keten van functiecalls.

Conclusie

In dit tweede deel uit onze serie hebben we gezien hoe we de beginsels van onze plugin vastleggen  en hoe het mechanisme werkt om functionaliteit toe te voegen. De functies hello_dolly() en dolly_css() zijn haast te eenvoudig om te bekijken in dit artikel en zijn verder ook niet zo van belang. In deel 3 gaan we deze zaken toepassen in onze plugin en tevens bekijken hoe we met behulp van de activatie, deactivatie en verwijder hooks een database schema voor onze plugin kunnen creëeren.

Related

WordPress: Schrijf uw eigen plugin WordPress Plugins: Een Kunst Database, Deel 1 Rechtlijnig DenkenEén van onze huidige projecten is het bouwen van een online Kunst winkel, 'Knipo...
WordPress: Schrijf uw eigen plugin, Deel 3 WordPress: Een Kunst Database Plugin, Deel 3 In het vorige deel van deze serie hebben we gezien hoe we super eenvoudig een plugin kunnen maken. We he...

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *