2017-05-04 2 views
1

Ich habe eine benutzerdefinierte Checkout-Seite erstellt.Benutzerdefinierte Woocommerce Gutscheinfelder in benutzerdefinierten Ort

Ich wollte den Gutscheincode überall und es funktionierte.

Leider nach dem Klicken auf die Schaltfläche "Gutschein anwenden", anstatt den Gutschein zu validieren und der Bestellung hinzuzufügen, reagiert das System wie durch Klicken auf den Button "Bestellung und Bezahlung" in form-checkout.php :

<?php do_action('woocommerce_checkout_coupon_form', $checkout); ?> 

<form name="checkout" method="post" class="checkout woocommerce-checkout" action="<?php echo esc_url(wc_get_checkout_url()); ?>" enctype="multipart/form-data"> 

     <div class="checkout-form-container"> 
      <?php if (sizeof($checkout->checkout_fields) > 0) : ?> 
       <?php do_action('woocommerce_checkout_before_customer_details'); ?> 

       <div class="col2-set" id="customer_details"> 
        <div class="col-1"> 
         <?php do_action('woocommerce_checkout_billing'); ?> 
        </div> 
       </div> 

       <?php do_action('woocommerce_checkout_after_customer_details'); ?> 

       <p class="form-row form-row-first"> 
        <label for="coupon_code">Coupon?</label> 
        <input type="text" name="coupon_code" class="custom-coupon-code-input input-text" placeholder="<?php esc_attr_e('Wprowadż kod', 'woocommerce'); ?>" id="coupon_code" value="" /> 
       </p> 

       <p class="form-row form-row-last"> 
              <input type="submit"button class="button custom-apply-coupon-btn"> 
         <?php esc_attr_e('Apply', 'woocommerce'); ?> 
        </button> 
       </p> 

      <?php endif; ?> 
     </div> 

Antwort

0

Überprüfen Sie Ihre Checkout-Seite HTML. Sie legen Ihr Coupon-Formular in das Kassenformular. HTML-Formulare unterstützen verschachtelte Formulare nicht.

Legen Sie das Formular außerhalb des Kassenformulars. Wenn Sie sie wirklich dort zeigen müssen, nehmen Sie diese Werte per Javascript mit dem Klick auf "Gutschein anwenden" und führen Sie die Validierung durch. Aber ein Formular-Tag in einer anderen Form ist nicht der richtige Weg.

Die Schaltfläche "Senden" sendet auch das übergeordnete Formular. Deshalb bekommst du das.

0

Ich weiß, wo das Problem ist. Alles funktioniert perfekt auf woo 2.6.8 aber nach dem Update auf min 3.0.4 ist der Absturz wie oben beschrieben.

Verwandte Themen