WordPress-hooks
Ook wel actions
Wat zijn WordPress-hooks?
WordPress-hooks (ook wel actions en filters) zijn vaste aanhaakpunten in de WordPress-code waar je eigen code aan kunt hangen. Met een action voeg je op een bepaald moment iets toe, met een filter pas je bestaande inhoud aan voordat die getoond wordt.
Veelgestelde vragen over WordPress-hooks
Waar plaats ik code voor een hook in WordPress?
Het veiligst plaats je hook-code met een snippet-plugin zoals WPCode of Code Snippets. Je hoeft dan geen themabestanden aan te passen en je kunt een stukje code met één klik weer uitzetten.
- Installeer de plugin via het menu Plugins in je dashboard.
- Maak een nieuwe snippet aan en kies het type PHP.
- Plak je add_action of add_filter met de bijbehorende functie.
- Geef de snippet een duidelijke naam, zodat je later weet wat hij doet.
- Activeer de snippet en test je site direct in een privévenster.
Kan ik hooks niet gewoon in functions.php van mijn thema zetten?
Dat kan, maar het is een veelgemaakte fout. Zet je code in functions.php van je gewone thema, dan is die na de volgende thema-update verdwenen. Wissel je van thema, dan ben je je code ook kwijt.
Wil je toch met functions.php werken, gebruik dan een child theme. Dat is een apart thema dat de opmaak van je hoofdthema overneemt, maar bij updates niet wordt overschreven. Voor losse aanpassingen is een snippet-plugin meestal handiger, omdat je code dan blijft werken als je ooit van thema wisselt.
Mijn site geeft een fout na een hook, wat nu?
De fout zit bijna altijd in de code die je net hebt toegevoegd. Zo los je het op:
- Check je mail: WordPress stuurt bij een fatale fout vaak een link naar de herstelmodus, waarmee je toch kunt inloggen.
- Zet de snippet uit in je snippet-plugin. Code Snippets heeft ook een veilige modus voor als je het dashboard niet meer in komt.
- Lukt dat niet, herstel of verwijder de code via FTP of het bestandsbeheer van je hoster.
- Helpt niets, zet dan een back-up terug, bijvoorbeeld met UpdraftPlus.
Test nieuwe code daarom liefst eerst op een testomgeving.
Wanneer kies ik een action en wanneer een filter?
Kies een action als je iets wilt toevoegen of uitvoeren op een vast moment, zoals een script in de header laden of een extra mail versturen na een bestelling. Kies een filter als je iets wilt veranderen wat WordPress al heeft klaargezet, zoals de lengte van een samenvatting of de tekst op een knop.
Let op het belangrijkste verschil: een filter moet altijd een waarde teruggeven met return. Vergeet je dat, dan blijft de inhoud leeg en verdwijnt bijvoorbeeld je paginatitel of producttekst van je site.
Hoe vind ik welke hooks een plugin of thema heeft?
Begin bij de documentatie. De standaardhooks van WordPress staan in de Code Reference op developer.wordpress.org. Grote plugins zoals WooCommerce hebben een eigen overzicht van hun hooks.
Wil je zien welke hooks op een specifieke pagina worden uitgevoerd, installeer dan de gratis plugin Query Monitor. Die laat onder meer zien welke actions en filters op die pagina draaien en welke code eraan hangt. Staat iets nergens beschreven, zoek dan in de bestanden van de plugin naar do_action en apply_filters: daar worden de aanhaakpunten aangemaakt.


