Gebruik van Mollie functies in custom Wordpress plugin
Door
Thijmen van Doorn
op 22-05-2020 18:35
gewijzigd op 22-05-2020 18:38
3.679 views
Beste allen!
Ik ben een eigen Wordpress plugin aan ontwikkelen wat gebruikt maakt van Woocommerce en Mollie als betaalmethode. Echter wil ik extra metadata meesturen met Mollie niet lukken. Mollie geeft zelf deze optie ook aan en legt dat hier() uit.
Hieronder de code die ik gebruik in mijn pluginfile.
100% zeker weten doe ik niet. Maar over het algemeen kunnen de hooks gewoon aangeroepen worden, zonder een bepaalde plugin aan te roepen. Tenminste, zo begreep ik het. Maar wellicht kan ik het over het hoofd zien..
Waar word je global $order_id aangemaakt?
Wellicht moet je global $woocommerce gebruiken, hierin kun je heel veel data uitlezen wat betreft orders, producten etc.
Inmiddels is het stukje code aangepast naar onderstaand, maar blijft het nog steeds een raadsel omdat in de ontvangen metadata niets zit wat dit stukje code zou moeten maken.
Inmiddels achterhaald dat de metadata wel doorkomt, maar de orderid maar niet ingevuld wordt. Aan de hand van jullie tips, de code wat aangepast maar hierbij krijg ik de error 'Backend fatal error: PHP Fatal error: Uncaught Error: Call to a member function get_id()'. Blijkbaar is die functie onvindbaar..?
Je code geeft de foutmelding in de php log:
"Backend log: woocommerce_add_order_item_meta is deprecated since version 3.0.0! Use woocommerce_new_order_item instead."
en bij het bestelproces verschijnt de melding 'Ongeldige bestelling'. Er maar 1 file waarin de plugin draait, er zijn wel extra files, maar die hebben niets met Woocommerce of Mollie te maken. Het vreemde is, dat verderop in de code
$order = wc_get_order($order_id);
en
$order->get_id()
Wordt gebruikt bij een array in een function, wat wel werkt..
Natuurlijk niet nagedacht, dat er pas een ID word aangemaakt na de checkoutpage.
Je wilt voordat er betaald is informatie meesturen naar Mollie.
Je kan deze hook een proberen
Dat klinkt inderdaad logisch, en zelf niet aandacht! xD
Echter zoek ik even de weg hoe deze hook aan te roepen, in combinatie met de filter? Zou het niet add_action() moeten zijn?