In meinem untergeordneten Storefront-Theme versuche ich auf der Checkout-Seite, den Gutscheincodeblock direkt über die Warenkorbsummen und unter die Artikelbewertung zu verschieben

Ich sehe hinein review-order.php
dass der folgende Haken genau an der richtigen Stelle ist:
do_action( 'woocommerce_review_order_after_cart_contents' );
Also habe ich in der Datei functions.php Folgendes hinzugefügt:
remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
add_action( 'woocommerce_review_order_after_cart_contents', 'woocommerce_checkout_coupon_form' );
Aber der Coupon-Block erscheint zweimal … und über der Bestellübersicht statt darunter.

Aktualisierung 2021 Verwendung: Verschiebt das Coupon-Formular vor den Zahlungsabschnitt in der WooCommerce-Kaufabwicklung
Als Haken woocommerce_review_order_after_cart_contents
befindet sich in einer HTML-Tabelle zwischen </tr>
und </tbody>
Tags, daher muss es in einer bestimmten HTML-Struktur angezeigt werden, um Ihr Problem zu vermeiden.
Folgendes wird das tun:
remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
add_action( 'woocommerce_review_order_after_cart_contents', 'woocommerce_checkout_coupon_form_custom' );
function woocommerce_checkout_coupon_form_custom() {
echo '<tr class="coupon-form"><td colspan="2">';
wc_get_template(
'checkout/form-coupon.php',
array(
'checkout' => WC()->checkout(),
)
);
echo '</tr></td>';
}
Der Code wird in die Datei functions.php des aktiven untergeordneten Designs (oder aktiven Designs) eingefügt. getestet und funktioniert.
Wenn Sie das Gutscheinformular direkt anzeigen möchten, können Sie Folgendes in die style.css-Datei Ihres aktiven untergeordneten Designs (oder aktiven Designs) einfügen:
.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon {
display: block !important;
}
Verwandte: Coupon-Feld nach Checkout-Zahlung in Woocommerce verschieben?