Manchmal ist es notwendig, oder praktisch, einen Link zu einem Produkt mit dem Gutscheincode direkt zu bewerben. Das macht vor allem bei Aktionen Sinn, bei denen du unbedingt willst, dass die Leute keine zusätzliche Hürde überwinden müsssen, indem sie zuerst noch selbst den Gutscheincode anwenden müssen. Mit diesem Code-Snippet kannst du coupon codes direkt an URL’s anhängen und verlinken. ZB so:
https://dein-online-shop.de/checkout/?add-to-cart=74&quantity=1&coupon=gratiscode
Um einen Link wie oben zu erzeugen brauchst du die ID des Produkts, oder der Produktvariante, die du verlinken möchtest, den Gutscheincode und ein Code-Snippet, dass du in deiner functions.php in WordPress einfügst.
Sehen wir uns den Link im Detail an:
Zuerst deine Shop-Domain:
https://dein-online-shop.de
danach die Kasse, oder der Warenkorb, je nachdem wohin du weiterleiten möchtest:
/checkout/
/cart/
danach das Produkt (die Produkt-ID). Durch den WooCommerce Hook “add-to-cart” wird das Produkt automatisch in den Warenkorb gelegt. Das funktioniert mit allen veröffentlichten Produkten und Produktvarianten. Die “74” tauscht du mit deiner Produkt-ID:
?add-to-cart=74
Die gewünschte Menge des Produkts. Hier kannst du die Menge angeben. 1 ist ein Stück und 10 wären 10 Stück. Das Ampersand “&” ist das “Trennzeichen” in der URL. Damit werden weitere URL-Parameter angehängt.
&quantity=1
Und jetzt noch der Gutscheincode. Hier starten wir wieder mit “&”, weil das ein weiterer URL Parameter ist. Hier musst du “deintestcouponcode” mit deinem Gutscheincode ersetzen:
&coupon=deintestcouponcode
Hier ist das PHP Code-Snippet für die functions.php
Am besten ist, wenn du ein Child-Theme verwendest. Du kannst auch Plugins verwenden, die php code für dich in WooCommerce einhängen.
Füge den PHP Open-Tag “<?php” nur ein, wenn in deinem File noch keiner ist. Wenn du es zu deinem functions.php file hinzufügst, brauchst du das nicht. Da gibt es schon einen Open-Tag in der ersten Zeile:
<?php
// *******************************************
// BEGIN Add to cart + add coupon code in url:
// *******************************************
function atmt_woocommerce_apply_cart_coupon_in_url() {
if ( ! function_exists( 'WC' ) || ! WC()->session ) {
return;
}
if ( empty( $_REQUEST['coupon'] ) ) {
return;
} else {
$coupon_code = esc_attr( $_REQUEST['coupon'] );
}
WC()->session->set_customer_session_cookie(true);
if ( ! WC()->cart->has_discount( $coupon_code ) ) {
WC()->cart->add_discount( $coupon_code );
}
}
add_action('wp_loaded', 'atmt_woocommerce_apply_cart_coupon_in_url', 30);
add_action('woocommerce_add_to_cart', 'atmt_woocommerce_apply_cart_coupon_in_url');
// *******************************************
// END Add to cart + add coupon code in url:
// *******************************************
Das ist es. Abspeichern und verwenden.