Un utente ha chiesto informazioni su WooCommerce di Wordpress

Come interrompere il campo Coupon da Gone on Controlla se viene applicato un coupon?

Un utente ha chiesto 👇

Prima dell’ultimo aggiornamento, il tuo supporto ci ha detto di aggiungere quanto segue alle nostre funzioni.php per evitare che il campo del coupon scompaia:

add_action (‘woocommerce_after_checkout_form’, ‘apply_coupon_fieldback’, 9);

funzione apply_coupon_fieldback () {

if (! empty (WC () -> cart-> apply_coupons)) {
$ info_message = apply_filters (‘woocommerce_checkout_coupon_message’, __ (‘Do you have a coupon?’, ‘woocommerce’));

wc_print_notice ($ info_message, ‘notifica’);

}
}

Questo codice ha funzionato alla grande fino all’ultimo aggiornamento. Ora non funziona e la nostra pagina di pagamento non espanderà il “Clicca qui” accanto alla sezione del coupon se un coupon è già applicato. Se un coupon non viene applicato, si espanderà per visualizzare la casella per inserire un coupon. Qualche idea su cosa è cambiato e su come risolverlo?

Supporto per plugin

(@riaanknoetze)

2 anni, 10 mesi fa

Ciao,

Vorrei aggiornarmi sul periodo precedente a questo thread del forum: potresti inviare il numero del ticket o l’URL del thread del forum per scoprire dove questo ha suggerito?

Grazie!

Lanciatore di thread

(@restalfep)

2 anni, 10 mesi fa

Sicuramente il lavoro era a:

https://wordpress.org/support/topic/how-to-stop-coupon-field-from-disappearing-on-checkout-if-coupon-applied/

Supporto per plugin

(@ ryanr14)

2 anni, 10 mesi fa

Ciao,

Ecco cosa ha funzionato per me, con una spiegazione di ciò che pensavo fosse andato storto nel pulsante anteriore che avevi. 🙂


function apply_coupon_fieldback() {

	if ( ! empty( WC()->cart->applied_coupons ) ) { ?>

		<div class="woocommerce-form-coupon-toggle">
			<?php wc_print_notice( apply_filters( 'woocommerce_checkout_coupon_message', __( 'Have a coupon?', 'woocommerce' ) . ' <a href="#" class="showcoupon">' . __( 'Click here to enter your code', 'woocommerce' ) . '</a>' ), 'notice' ); ?>
		</div>

			<form class="checkout_coupon woocommerce-form-coupon" method="post" style="display:none">

				<p><?php esc_html_e( 'If you have a coupon code, please apply it below.', 'woocommerce' ); ?></p>

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

				<p class="form-row form-row-last">
					<button type="submit" class="button" name="apply_coupon" value="<?php esc_attr_e( 'Apply coupon', 'woocommerce' ); ?>"><?php esc_html_e( 'Apply coupon', 'woocommerce' ); ?></button>
				</p>

				<div class="clear"></div>
			</form>
			<?php
	}
}

add_action ( 'woocommerce_before_checkout_form', 'apply_coupon_fieldback', 9);

Per prima cosa, quando ho incollato il tuo primo pulsante nel mio editor, ho dovuto sostituire le virgolette dirette con quelle che sembravano virgolette ricci. Forse l’editor che stai utilizzando lo fa automaticamente se è più adatto all’elaborazione di testi? Guarda Qui per ulteriori spiegazioni.

Ho solo leggermente riorganizzato e aggiornato il codice utilizzato. In particolare, quando si utilizza Storefront ha funzionato meglio, penso di inserirlo nel modulo di controllo, quindi l’ho usato woocommerce_before_checkout_form.

Ho anche ricevuto la tua notifica visibile, ma non c’era alcun collegamento che avrebbe aperto il modulo o il codice del modulo effettivo. L’ho copiato nella nuova raccolta sopra. Fammi sapere se aiuta!

Ecco un video veloce così puoi vedere quello che vedo io.

Was this helpful?

0 / 0

Lascia un commento 0

Your email address will not be published. Required fields are marked *