WooCommerce Produkt mit Coupon Code direkt in URL einfügen und in die Kasse weiterleiten
Manchmal ist es notwendig oder praktisch, einen Link zu einem Produkt direkt mit dem Gutscheincode zu bewerben. Das ist vor allem bei Aktionen sinnvoll, bei denen Kundinnen und Kunden keine zusätzliche Hürde überwinden sollen, indem sie den Gutscheincode erst selbst eingeben müssen. Mit diesem Code-Snippet können Sie Gutscheincodes direkt an URLs anhängen und verlinken, zum Beispiel so:
https://ihr-online-shop.de/checkout/?add-to-cart=74&quantity=1&coupon=gratiscode
Um einen Link wie oben zu erzeugen, brauchen Sie die ID des Produkts oder der Produktvariante, die Sie verlinken möchten, den Gutscheincode und ein Code-Snippet, das Sie in die functions.php Ihres WordPress-Themes einfügen.
Sehen wir uns den Link im Detail an:
Zuerst Ihre Shop-Domain:
https://ihr-online-shop.de
danach die Kasse oder der Warenkorb, je nachdem, wohin Sie weiterleiten möchten:
/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“ ersetzen Sie durch Ihre Produkt-ID:
?add-to-cart=74
Die gewünschte Menge des Produkts. Hier geben Sie die Menge an. 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 ersetzen Sie „ihrtestcouponcode“ durch Ihren Gutscheincode:
&coupon=ihrtestcouponcode
Hier ist das PHP Code-Snippet für die functions.php
Am besten verwenden Sie dafür ein Child-Theme. Alternativ gibt es Plugins, die PHP-Code für Sie in WooCommerce einhängen.
Fügen Sie den PHP-Open-Tag „<?php“ nur ein, wenn in Ihrer Datei noch keiner steht. In der functions.php brauchen Sie ihn nicht, dort gibt es bereits 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 alles: speichern und verwenden.