Maak een website-specifieke WordPress plugin

Er wordt op veel websites gepraat over kleine aanpassingen die je in WordPress kunt maken, door middel van een stukje code toe te voegen aan het functions.php bestand van je thema. Op WPsitemaken is dit ook het geval in bijvoorbeeld de berichten over shortcodes en handige code snippets . Er zit alleen wel een groot nadeel aan het gebruik van functions.php, doordat het bestand er erg vol van wordt, het bij het wisselen van thema verloren gaat en een foutje kan ervoor zorgen dat je website niet meer toegankelijk is. Om die redenen is het beter om een website-specifieke plugin te schrijven en daar juist de stukjes code toe te voegen. Nu vraag je je waarschijnlijk af wat een website-specifieke plugin precies inhoudt en hoe je er zelf een kan maken. Laat dat nou net in dit bericht worden uitgelegd.

Wat is een website-specifieke plugin

Een website specifieke plugin is een plugin die je zelf creëert met daarin code snippets die je op je website wilt gebruiken, onafhankelijk van je gebruikte thema. Denk bijvoorbeeld aan gekleurde kaders of het uitschakelen van automatische updates in WordPress.

Onderdelen die wel specifiek zijn voor een bepaald thema, bijvoorbeeld het weergeven van thumbnails voor een blogbericht, zal je nog wel in het functions.php bestand moeten plaatsen. Als je namelijk over gaat naar een nieuw thema, zal deze functionaliteit er misschien standaard wel inzitten.

Het komt er in het kort dus op neer dat je website-specifieke plugin een soort functions.php bestand is, maar waarbij het mogelijk is de functionaliteiten te behouden als je van thema wisselt.

Wat is het voordeel ervan

Zoals eerder gezegd, doordat het een plugin is kan je hem gebruiken ongeacht het thema. Op die manier zal je dus nooit je eigen shortcodes of belangrijke functionaliteiten kwijt zijn als je besluit van een ander thema gebruik te maken.

Nog een groot voordeel van een plugin boven het functions.php bestand, is dat als er iets fout gaat alleen de plugin wordt gedeactiveerd en niet je hele website ontoegankelijk wordt. Maak je bijvoorbeeld een foutje in je functions.php bestand, dan zal heel je website overhoop liggen en allerlei foutmeldingen geven. Vervolgens moet je dan via FTP je functions.php bestand aanpassen zodat je website weer toegankelijk wordt. Bij een plugin daarentegen zal WordPress de fout ontdekken en de plugin uitschakelen. Natuurlijk zal dit er wel voor zorgen dat je shortcodes en snippets dan niet meer werken, maar je website doet het in ieder geval nog. Verder kost het ook minder tijd om via de ingebouwde bewerker (‘Plugins > Bewerker’) de plugin weer te herstellen. In zo’n geval kan je dus in een paar seconden je plugin weer geactiveerd hebben.

Hoe maak je zelf een website-specifieke plugin

Hoewel het veel mensen afschrikt als je begint over het maken van een plugin, valt het eigenlijk hartstikke mee. Voor een basis plugin waarin je je eigen code snippets en shortcodes kunt plaatsen, is namelijk heel weinig nodig.

De basis structuur

In WordPress moet elke plugin een unieke naam hebben. Om er zeker van te zijn dat je eigen plugin niet dezelfde naam heeft als een reeds bestaande plugin, wordt het aangeraden om de naam van je website hiervoor te gebruiken. In het voorbeeld betekent dit dat er voor ‘wpsitemaken-plugin’ gekozen is. Het is echter niet verplicht en als je een goede naam voor je plugin kunt verzinnen dan kan je die natuurlijk ook gebruiken.

Wanneer je een naam hebt, maak dan een map met deze naam aan op je computer (bijvoorbeeld op het bureaublad). In het voorbeeld is dit dus ‘wpsitemaken-plugin’.

wp_website_specifieke_plugin_map

Open vervolgens de map en maak daarin een .php bestand aan met dezelfde naam als de map. In het voorbeeld is dit dus ‘wpsitemaken-plugin.php’. Het is bij WordPress plugins namelijk zo dat de benaming van de map en het bestand hetzelfde moet zijn. Wijk hier dus niet van af, anders zal je plugin straks niet werken.

wp_website_specifieke_plugin_bestand

De plugin basis

Nu we de structuur van de plugin hebben opgezet, is het tijd om wat code aan het bestand toe te voegen. Open dus je zojuist aangemaakte .php bestand en plaats daar de volgende code in (de plugin header code):

<?php
/*
Plugin Name: Naam van je plugin
Description: Beschrijving van wat je plugin doet
*/

/* Vanaf hier kan je je code snippets gaan toevoegen */

In principe is alleen de ‘Plugin Name:’ noodzakelijk om de plugin door WordPress te laten herkennen. Echter is ‘Description’ vaak handig om erbij te hebben, want dan kan je nog een uitleg voor jezelf (of andere gebruikers) schrijven die wordt weergegeven op de plugin pagina. Voor een volledig overzicht van de onderdelen die je in de plugin header kunt plaatsen, zoals auteur, versie ,etc. , kan je op de WordPress codex pagina terecht.

Onder de regel ‘Vanaf hier kan je je code snippets gaan toevoegen’ is het mogelijk om je php codes toe te voegen aan je plugin. Stel dat je de automatische updates van WordPress wilt uitschakelen met je plugin, zal dit als volgt eruit komen te zien:

<?php
/*
Plugin Name: Naam van je plugin
Description: Beschrijving van wat je plugin doet
*/

/* Vanaf hier kan je je code snippets gaan toevoegen */
define( 'WP_AUTO_UPDATE_CORE', false);

Wanneer je alle gewenste code in je bestand hebt geplaatst, sla je hem op en is het tijd om hem op je WordPress website te installeren.

De plugin installeren

Start een FTP programma op en ga daarmee naar /wp-content/plugins op je server. Upload hier vervolgens je eigen plugin map, zoals je ook bij het installeren van een normale plugin zou doen.

wp_website_specifieke_plugin_upload

Nadat je dit hebt gedaan, log je in op je website en ga je naar ‘Plugins > Geïnstalleerde plugins’. In het overzicht zou je nu je eigen plugin moeten zien staan. Activeer hem, en de code die je in de plugin had geplaatst zal vanaf nu uitgevoerd worden. In het geval van shortcodes zullen ze vanaf nu ook te gebruiken zijn.

wp_website_specifieke_plugin

Opmerkingen

Een aantal opmerkingen over onderdelen waar je tegenaan zou kunnen lopen:

  1. Het is niet nodig om voor elke functie een nieuwe plugin te maken. Je kunt ze gewoon in hetzelfde bestand plaatsen, zoals je met het functions.php bestand ook deed. Het is natuurlijk niet verboden om per functionaliteit een plugin te maken. Het kan in sommige gevallen juist handig zijn, mocht een bepaalde functionaliteit problemen geven: je kan dan die specifieke plugin uitschakelen.
  2. Als het je niet lukt om de plugin te activeren, doordat hij meteen weer gedeactiveerd wordt of als je een melding krijgt, dan komt dit waarschijnlijk doordat je een foutje in je code hebt staan. Loop dus even goed je .php bestand langs. Mocht je niks kunnen vinden, dan kan je ook een reactie achterlaten voor verdere hulp.
  3. Mocht je plugin niet in het overzicht te vinden zijn, dan is er waarschijnlijk iets fout gegaan in je benaming. Controleer in dat geval of de plugin map hetzelfde heet als het bestand wat erin staat en of je de header informatie wel in het bestand hebt gezet.

Wanneer wel of geen plugin gebruiken

Omdat het onduidelijk zou kunnen zijn wanneer je nou wel of niet een plugin moet gebruiken in plaats van het functions.php bestand, hieronder een overzichtje wanneer je wat kan gebruiken.

In plugin: niet-thema-specifieke codes die je altijd (= op meerdere websites) wilt gebruiken, onderdelen die niet met een thema te maken hebben.

In functions.php / child theme: css aanpassingen, als er aanpassingen in themabestanden nodig zijn, thema-specifieke onderdelen.

Michel Kraaijeveld is oprichter van WPsitemaken. Hij is ervan overtuigd dat het voor iedereen mogelijk moet zijn om een eigen website te maken, zonder lastige handleidingen door te hoeven nemen. Zelf is hij al 6 jaar actief met WordPress en probeert zijn kennis op een simpele manier over te brengen aan anderen.

5 reacties

Laat een reactie achter