woocommerce_loop_add_to_cart_link
WooCommerce past dit filter toe op de HTML van winkelwagenlinks in het klassieke sjabloon voor productoverzichten. Ontwikkelaars kunnen hiermee de aankooplinks in de catalogus wijzigen.
Kort overzicht
| Type | Filterhook |
|---|---|
| Onderdeel | Productoverzichten |
| Argumenten | $link (HTML string), $product (WC_Product), $args (array) |
| Bron | WooCommerce-codereferentie |
Hoe het werkt
Het sjabloon geeft de volledige HTML van de winkelwagenlink, het huidige object WC_Product en de argumenten waarmee de link is gemaakt door. Een filtercallback moet HTML teruggeven. Als je de link volledig vervangt, kunnen attributen voor aantallen, toegankelijkheid of AJAX verloren gaan.
PHP-voorbeeld
add_filter( 'woocommerce_loop_add_to_cart_link', function ( $link, $product, $args ) {
return '<span class="catalog-cart-link">' . $link . '</span>';
}, 10, 3 );
Dit plaatst de bestaande link in een extra element voor aangepaste opmaak, met behoud van de oorspronkelijke URL, tekst, klassen en attributen. Geef alleen vertrouwde HTML terug en escape eventuele extra dynamische uitvoer.
Plaats de code in een sitespecifieke plug-in of in het bestand functions.php van een child-thema en test deze vervolgens op een testsite.
HoverCraft in de praktijk
HoverCraft geeft de standaardrasters voor de WooCommerce-winkel en categorieën vorm, inclusief de aankooplinks. Als je bij gebruik van dit filter de klassen en attributen van de bestaande link behoudt, blijft de verwachte weergave en werking beter intact. Bekijk de documentatie over de WooCommerce-winkel voor de archiefindeling van het thema.
Veelvoorkomende valkuilen
Niet elke catalogusknop voegt direct een artikel aan de winkelwagen toe. Variabele producten kunnen een link met het label Select options tonen en andere producttypen kunnen verschillende bestemmingen of labels hebben. Vervang daarom niet alle links door een vaste URL om producten aan de winkelwagen toe te voegen. Dit is een filter: de callback moet de gewijzigde HTML met return teruggeven en niet met echo uitvoeren.
Compatibiliteit
Deze hook staat in het klassieke sjabloon loop/add-to-cart.php. Productblokken kunnen winkelwagenknoppen via een andere manier van renderen genereren.