WordPress ondersteunt een slimme functie, namelijk hooks. Met deze hooks kan je in de meest verschillende situaties de functies van WordPress, je thema en de gebruikte plugins aanpassen. Dat lijkt op het eerste moment best wel ingewikkeld, maar er zijn hooks die je vrij eenvoudig kan toevoegen aan je child theme. Lees hieronder hoe het allemaal werkt.
Wat zijn WordPress hooks?
Hooks zijn vooraf gedefinieerde “adressen” in het WordPress-systeem, die de mogelijkheid bieden om een bepaalde functie te veranderen. Deze worden gebruikt in WordPress zelfs, maar ook in je thema en in plugins zoals WooCommerce. Je hebt twee verschillende soorten hooks:
Action hooks
Met action hooks kan je een functionaliteit aanvullen of uitschakelen. Neem bijvoorbeeld de informatie die bovenaan de productenlijst van een categorie wordt getoond. Deze tekst wordt geplaatst met behulp van een action hook. Je kan via het hook de informatie aanvullen of verwijderen. Heb je deze verwijderd dan zou je het action hook onderaan de productenlijst kunnen gebruiken om de tekst daar te tonen.
Filter hooks
Wil je een bestaande tekst of informatie aanpassen? Dan kan via een filter hook. De page title kan via een filter hook worden aangepast. In dit geval wordt binnen je callback functie de huidige waarde aangeboden. Je kan de waarde dan aanpassen of aanvullen en “teruggeven” aan het hook.
Hoe je een hook kan gebruiken wordt door de ontwikkelaar bepaald. Je kan een filter hook niet als een action hook benaderen en ook niet andersom. Onze voorbeelden laten het gebruik en de verschillen duidelijk zien.
Welke hooks zijn er voor WooCommerce?
WooCommerce heeft net als WordPress erg veel filter en action hooks. Via deze link vind je een lijst van alle beschikbare hooks. Hieronder een selectie van hooks die wij regelmatig gebruiken voor onze klanten.
- woocommerce_admin_features – met deze filter hook kan je bepalen welke WooCommerce functies in het dashboard worden getoond of uitgeschakeld. Wanneer je sommige uitschakelt, dan laadt je dashboard iets sneller.
- woocommerce_coupons_enabled – wil je op de checkout pagina de coupon functie uitschakelen? Dat kan je doen met behulp van deze filter hook.
- woocommerce_before_shop_loop – met dit action hook kan je palen bepalen of voor de productenlijst de omschrijving wel of niet wordt getoond.
Hoe kan ik de WooCommerce hooks gebruiken?
Voor het “bewerken” van de verschillende hooks zijn er functies beschikbaar.
- add_action() – Hiermee voeg je informatie toe aan een action hook.
- remove_action() – Deze functie verwijdert de informatie van een hook.
- add_filter() – De functie voor het wijzigen van de informatie bij een filter hook.
Met deze 3 functies kan je de hooks via het functions.php bestand van je child theme instructies sturen zonder daarbij de code van WordPress, het thema of de plugins te wijzigen
Enkele voorbeelden
De volgende voorbeelden zijn maar een fractie van wat er met hooks allemaal mogelijk is. We hopen dat je hiermee beter in beeld krijgt hoe je met hooks kan werken.
Productafbeeldingen verwijderen in de winkelwagen
De tekst van de bestelbutton aanpassen
De productcategorie tekst verplaatsen
Op de WooCommerce website staan nog meer voorbeelden.
Action hooks zonder te programmeren met OceanWP
Wil je geen PHP code gebruiken en wil je toch met (action) hooks de pagina’s aanpassen? Dan kan dit met behulp van de OceanWP hooks plugin. Via het Library interface van OceanWP kan je met de uitbreiding stukjes HTML aan een aantal action hooks toevoegen. Geen oplossing voor elke aanpassing die met hooks mogelijk is, maar goed voor eenvoudige “acties”.
Deze extensie is onderdeel van de OceanWP Pro Exentension Bundle. Het bundle is te koop voor $43 per jaar. Een licentie kan voor 3 verschillende websites worden gebruikt.