Sinds de upgrade van WooCommerce naar versie 2.1.0 maakt het systeem gebruik van ‘endpoints’ in plaats van pagina’s.
Waar je vroeger als developer in het WooCommerce dashboard een pagina kon toewijzen die als bijvoorbeeld de ‘bedankt’ pagina gebruikt kon worden, kan dat nu niet meer. Die pagina’s bestaan niet meer, en als je ze in je WordPress dashboard had aangemaakt, dan worden die niet meer gebruikt.
Volgens de ontwikkelaars van WooCommerce was dit nodig omdat het het risico op storingen drastisch vermindert.
Wat ervoor in de plaats is gekomen is een url als: /checkout/order-received/
Het gedeelte /checkout/ is nog wel een pagina, maar het gedeelte /order-received/ is dus een ‘endpoint’. Die endpoint kun je overigens in het WooCommerce dashboard wel een andere naam geven gelukkig.
Mijn probleem:
Hoe plaats je een trackingcode op een pagina die geen pagina meer is maar een ‘endpoint’?
Zo’n trackingcode is vrij essentieel als je inzicht wilt krijgen in je verkopen, of als je een affiliate programma gebruikt.
De oplossing voor mijn probleem:
Die ‘endpoints’ maken gelukkig gebruik van een template. Die van de bedankt pagina is te vinden op deze locatie: /woocommerce/templates/checkout/thankyou.php
Het is dus nodig om dat bestand aan te passen als je je tracking code of tracking conversie pixel weer werkend wilt krijgen.
Het is niet aan te raden om dit template bestand direct in de plugin bestanden aan te passen, want bij de eerstvolgende update zal die aanpassing weer worden overschreven door de nieuwe standaardbestanden die de plugin installeert.
Een goede oplossing is om dat bestand naar de theme bestanden te kopieren, en het daar aan te passen. Dat bestand wordt niet overschreven door plugin updates, en ook niet door thema updates. Hier meer documentatie over het overschrijven van WooCommerce bestanden.
Als dit teveel moeite is, het is ook mogelijk om aan het functions.php bestand van het theme van een shop een hook toe te voegen, zie hier de documentatie.
Als je dit leest en geen idee hebt van wat WooCommerce is, hier vind je enige uitleg.
Hoi,
Op mijn website krijg ik helemaal geen ‘endpoint’ te zien na het plaatsen van een bestelling. Oftewel als klant krijg je geen bevestiging dat je order ontvangen is. Enig idee hoe ik dat kan aanpassen?
Groeten Kees
Hoi Kees,
Dat kan zo veel redenen hebben dat het ontzettend moeilijk is om er iets over te zeggen.
Veel voorkomende oorzaken zijn:
– één van je payment gateways veroorzaakt het probleem omdat die niet het juiste url pad teruggeeft.
– Permalinks zijn niet correct ingesteld in de WordPress settings of in WooCommerce
– Gebruik van bijzondere leestekens in de endpoint benamingen.
– Een plugin die een conflict geeft.
– Een conflict in het thema.
Je zou al die punten via trial and error kunnen controleren.
Groeten, Erwin
Als het niet lukt kun je me ook inhuren om het voor je op te lossen.
Hoi Erwin, ik heb een vraag die aan bovenstaande gerelateerd is. Misschien kun je me de goede weg op wijzen? Wanneer de klant na een geslaagde betaling in de iDEALomgeving niet op ‘Bestelling voltooien’ (o.i.d.) klikt dan wordt de bestelling niet als betaald vermeld in WooCommerce (via plugin iDEALChekout i.c.m. OmniKassa) . Nu zou dit volgens de Rabobank documentatie opgelost kunnen worden door “automaticResponseUrl” mee te leveren in het betaalverzoek. Mijn concrete vraag is: waar kan ik dit in kwijt?
Hoi Steven,
Dit is een heel ander probleem. Maar wel een vervelende. Heb je contact gehad met de ideal plugin auteur? Ik denk dat in die plugin die automaticResponseUrl meegegeven zal moeten worden voor omnikassa.
Het lijkt mij een payment gateway isssue.
Dank je wel, Erwin. Ik neem contact met ze op.
hallo, ik heb een vraagje over de bevestigings pagina (order-received). Hoe kan ik deze op een simpele manier aanpassen zonder dat deze wordt overschreven door een update? het komt nu heel rommelige over, geen witregels tussen zinnen etc.
Hoi Jolanda,
Echt simpel is het misschien niet, maar ik zou eerst eens kijken of je het met css opgelost krijgt. Die css kun je updateproof opslaan in de customizer van je thema, of in een css plugin.