Come personalizzare la pagina di ringraziamento di WooCommerce con il codice

Pubblicato: 2022-09-15
Sommario nascondere
1. Perché personalizzare la pagina di ringraziamento di WooCommerce?
2. Personalizza la pagina di ringraziamento di WooCommerce con il codice
2.1. Personalizzazione della pagina di ringraziamento creando un reindirizzamento
2.2. Personalizzazione della pagina di ringraziamento utilizzando i filtri
2.2.1. Modifica del titolo della pagina di ringraziamento
2.2.2. Personalizzazione del titolo della pagina di ringraziamento
2.2.3. Personalizzazione del testo prima delle informazioni sull'ordine
2.3. Personalizzazione della pagina di ringraziamento sovrascrivendo i file modello WooCommerce
2.4. Come reindirizzare a una pagina di ringraziamento personalizzata in base all'ID variante utilizzando hook?
2.5. Stampa il testo sulla pagina di ringraziamento in base all'attributo del prodotto
3. Come impostare una pagina di ringraziamento personalizzata per prodotto e per tutto il sito utilizzando un plug-in?
4. Parole finali

L'aspetto più importante di una pagina di ringraziamento di successo è assicurarsi che le persone la vedano. Non hai bisogno di niente di sofisticato o complicato. Ha solo bisogno di fare una buona prima impressione distinguendosi dal resto del sito.

Lo scopo di questo articolo è fornirti un tutorial generale su come personalizzare la pagina di ringraziamento di WooCommerce o la pagina di ricezione dell'ordine utilizzando il codice.

Perché personalizzare la pagina di ringraziamento di WooCommerce?

La pagina di ringraziamento ti offre un modo per rimanere in contatto con i tuoi clienti dopo il loro acquisto.

Potresti trascurare l'importanza della pagina di conferma dell'ordine o di ringraziamento nel tuo negozio online, ma in realtà è una parte cruciale del processo di vendita.

La pagina di ringraziamento predefinita di WooCommerce è noiosa e un vicolo cieco per i clienti. I clienti sono confusi su ciò che verrà dopo.

pagina di ringraziamento predefinita di WooCommerce

Se invece lo personalizzi, puoi:

  • Aggiungi istruzioni per l'onboarding, passaggi successivi...
  • Promuovi i prodotti correlati tramite il cross-selling e l'upselling
  • Usa i coupon per incoraggiare gli acquisti ripetuti
  • Fornire risorse preziose ai clienti
  • Coinvolgi i clienti con prove sociali, video, ecc.

Alla luce di ciò, vediamo come possiamo creare e personalizzare facilmente una pagina di ringraziamento personalizzata utilizzando il codice. Cari sviluppatori, tutti gli occhi qui!

Personalizza la pagina di ringraziamento di WooCommerce con il codice

Esistono tre modi per personalizzare la pagina di ringraziamento o la pagina dell'ordine ricevuto utilizzando il codice:

  1. Creazione di un reindirizzamento
  2. Utilizzo di filtri
  3. Sovrascrittura dei file modello

Inoltre, mantieni questo post sull'aggiunta sicura di codice al file aperto in un'altra scheda come riferimento.

Vediamo ciascuno dei tre modi in dettaglio.

Personalizzazione della pagina di ringraziamento creando un reindirizzamento

È semplice effettuare il reindirizzamento creando un nuovo plugin o aprendo il file functions.php e inserendo il codice seguente alla fine del file.

add_action( 'template_redirect', 'sa_custom_redirect_after_purchase');
funzione sa_custom_redirect_after_purchase() {
	globale $wp;
	if ( is_checkout() && !empty( $wp->query_vars['order-received'] ) ) {
		wp_redirect( 'https://demo.storeapps.org/woocommerce/thank-you/');
		Uscita;
	}
}

Ecco la pagina di ringraziamento personalizzata dopo aver effettuato un ordine.

Pagina di ringraziamento personalizzata utilizzando il reindirizzamento

Il reindirizzamento sembra buono, ma mancano cose importanti come la tabella di riepilogo dell'ordine, i dettagli di fatturazione e spedizione e altre informazioni importanti attualmente fornite da WooCommerce.

Personalizzazione della pagina di ringraziamento utilizzando i filtri

Invece di creare una pagina di ringraziamento, potresti voler cambiare il titolo della pagina o cambiare del testo prima delle informazioni sull'ordine. In questi casi, puoi utilizzare i filtri.

Modifica del titolo della pagina di ringraziamento

add_filter( 'il_titolo', 'sa_titolo_ordine_ricevuto', 10, 2 );
funzione sa_title_order_received($titolo, $id) {
	if ( function_exists( 'is_order_received_page' ) && is_order_received_page() && get_the_ID() === $id ) {
		$title = "Grazie per il tuo ordine :)";
	}
	restituire $titolo;
}

WooCommerce fornisce la funzione is_order_received_page() nel file include/wc-conditional-functions.php. Ecco come apparirà il titolo modificato:

grazie titolo pagina

Personalizzazione del titolo della pagina di ringraziamento

Puoi farlo per includere il nome del cliente nel titolo o qualsiasi altra cosa.

add_filter( 'the_title', 'sa_personalize_order_received_title', 10, 2 );
funzione sa_personalize_order_received_title($titolo, $id) {
	if ( is_order_received_page() && get_the_ID() === $id ) {
		globale $wp;

		// Ricevi l'ordine. Le seguenti righe sono presenti in order_received() nel file include/shortcodes/class-wc-shortcode-checkout.php
		$ order_id = apply_filters('woocommerce_thankyou_order_id', absint($wp->query_vars['order-received'] ));
		$ order_key = apply_filters( 'woocommerce_thankyou_order_key', vuoto($_GET['key'] ) ? '' : wc_clean($ _GET['key'] ) );

		se ( $ ID_ordine > 0 ) {
			$ordine = wc_get_ordine($ordine_id);
			if ( ! $ordine || ! hash_equals( $ordine->get_ordine_chiave(), $ordine_chiave ) ) {
				$ordine = falso;
			}
		}
		if ( $ order instanceof WC_Order ) {
			$title = sprintf( "Sei fantastico, %s!", esc_html($order->get_billing_first_name() ) );
		}
	}
	restituire $titolo;
}

Questo sarà simile a questo:

titolo della pagina di ringraziamento personalizzato

Personalizzazione del testo prima delle informazioni sull'ordine

Il testo predefinito mostrato prima delle informazioni sull'ordine è "Grazie. Il suo ordine è stato ricevuto.".

Questo testo proviene dal file templates/checkout/thankyou.php. Puoi modificare questo testo utilizzando un filtro disponibile in WooCommerce che è woocommerce_thankyou_order_received_text .

add_filter( 'woocommerce_thankyou_order_received_text', 'sa_update_order_received_text', 10, 2 );
funzione sa_update_order_received_text($testo, $ordine) {
	$text .= 'Ti abbiamo inviato via email la ricevuta dell'ordine.';
	restituisce $testo;
}

Questo codice aggiungerà il testo "Ti abbiamo inviato via email la ricevuta dell'ordine". al testo esistente.

cambia il testo della pagina di ringraziamento prima delle informazioni sull'ordine

Se vuoi sovrascrivere completamente il testo, devi evitare di concatenare la variabile $text .

 $text = 'Ti abbiamo inviato via email la ricevuta di acquisto.';

Se vuoi aggiungere qui le istruzioni che richiedono al cliente di scaricare un modulo, puoi farlo anche tu.

add_filter( 'woocommerce_thankyou_order_received_text', 'sa_change_order_received_text', 10, 2 );
funzione sa_change_order_received_text($testo, $ordine) {
	$text = 'Ti abbiamo inviato via email la ricevuta di acquisto. Assicurati di compilare <a href="https://demo.storeapps.org/form.pdf">questo modulo prima di partecipare all'evento.';
	restituisce $testo;
}

Questo sarà simile a questo:

grazie alla sostituzione del testo della pagina

Personalizzazione della pagina di ringraziamento sovrascrivendo i file modello WooCommerce

WooCommerce mostra il contenuto della pagina di ringraziamento dal file template thankyou.php che si trova nella cartella woocommerce/templates/checkout/.

Avrai bisogno di alcune conoscenze di PHP se vuoi scegliere questo metodo per personalizzare la pagina di ringraziamento di WooCommerce.

Puoi utilizzare il tuo modello copiando il file thanksyou.php nella cartella del tuo tema in una struttura di cartelle simile.

Ad esempio, se stai utilizzando il tema Storefront, il tuo thanksyou.php dovrebbe essere copiato in:
wp-content/themes/storefront/woocommerce/checkout/ folder. Dovrai creare le due cartelle, 'woocommerce' e 'checkout'.

Quando WooCommerce rileva che lo stesso modello è presente nel tuo tema, viene data priorità al modello presente nel tuo tema.

Facciamo un esempio. Nella pagina di ringraziamento predefinita, il metodo di pagamento è mostrato all'inizio e nei dettagli dell'ordine.

dettagli di pagamento e ordine nella pagina di ringraziamento

Vogliamo fornire un codice coupon al cliente per il suo prossimo acquisto e rimuovere il metodo di pagamento dalla sezione superiore.

Codice coupon nella pagina di ringraziamento

Di seguito è riportato il modello thanksyou.php:

<?php
if ( ! definito( 'ABSPATH' ) ) {
	Uscita;
}
?>
 
<div class="woocommerce-order">
 
	<?php se ( $ordine ) : ?>

		<?php if ( $order->has_status( 'fallito' ) ) : ?>

			<p class="woocommerce-notice woocommerce-notice--error woocommerce-thankyou-order-failed"><?php _e( 'Purtroppo il tuo ordine non può essere elaborato poiché la banca/commerciante di origine ha rifiutato la transazione. Prova ad acquistare di nuovo.', 'woocommerce' ); ?></p>
 
			<p class="woocommerce-notice woocommerce-notice--error woocommerce-thankyou-order-failed-actions">
				<a href="<?php echo esc_url( $order->get_checkout_payment_url() ); ?>" class="button pay"><?php _e( 'Pay', 'woocommerce' ) ?>
				<?php if ( is_user_logged_in() ) : ?>
					<a href="<?php echo esc_url( wc_get_page_permalink( 'myaccount' ) ); ?>" class="button pay"><?php _e( 'My account', 'woocommerce' ); ?>
				<?php endif; ?>
			</p>

		<?php altro: ?>
 
			<p class="woocommerce-notice woocommerce-notice--success woocommerce-thankyou-order-received"><?php echo apply_filters( 'woocommerce_thankyou_order_received_text', __( 'Grazie. Il tuo ordine è stato ricevuto. Ti abbiamo inviato il ricevuta dell'ordine per questa transazione.', 'woocommerce' ), $ordine ); ?></p>
 
			<ul class="woocommerce-order-overview woocommerce-thankyou-order-details order_details">
 				<li class="woocommerce-order-overview__order order">
					<?php _e( 'ID transazione:', 'woocommerce' ); ?>
					<strong><?php echo $ordine->get_ordine_numero(); ?></forte>
				</li>
 
				<li class="woocommerce-order-overview__date date">
					<?php _e( 'Data:', 'woocommerce' ); ?>
					<strong><?php echo date_i18n( get_option( 'date_format' ), $order->get_date_created() ); ?></forte>
				</li>
 
				<li class="woocommerce-order-overview__total total">
					<?php _e( 'Totale:', 'woocommerce' ); ?>
					<strong><?php echo $order->get_formatted_order_total(); ?></forte>
				</li>
			</ul>

		<?php endif; ?>

		<p>Congratulazioni per il tuo primo ordine. Ecco uno sconto del 15% sul tuo prossimo ordine. Utilizza il codice coupon <strong>WELCOME15</strong> per usufruire dello sconto.</p>

		<?php do_action( 'woocommerce_thankyou_' . $order->get_payment_method(), $order->get_id() ); ?>
		<?php do_action( 'woocommerce_thankyou', $order->get_id() ); ?>
 
	<?php altro: ?>
 
		<p class="woocommerce-notice woocommerce-notice--success woocommerce-thankyou-order-received"><?php echo apply_filters( 'woocommerce_thankyou_order_received_text', __( 'Grazie. Il tuo ordine è stato ricevuto.', 'woocommerce' ), nullo ); ?></p>
 
	<?php endif; ?>
 
</div>

Potresti voler modificare i dati mostrati nella tabella dei dettagli dell'ordine e i dettagli del cliente (una volta effettuato l'accesso).

Quelli provengono da un altro file. WooCommerce utilizza una funzione woocommerce_order_details_table() che è collegata woocommerce_thankyou hook .

La funzione woocommerce_order_details_table() è definita nel file include/wc-template-functions.php.

La pagina di ringraziamento è una raccolta di quattro diversi file modello:

  1. modelli/checkout/grazie.php
  2. modelli/ordine/dettagli-ordine.php
  3. templates/order/order-details-item.php
  4. modelli/ordine/dettagli-ordine-cliente.php

Una volta che sai quali dati provengono da quale modello, devi solo copiare il modello giusto nella cartella del tuo tema e questo è tutto.

Ora vediamo come personalizzare la pagina di ringraziamento di WooCommerce per una variazione del prodotto.

Come reindirizzare a una pagina di ringraziamento personalizzata in base all'ID variante utilizzando hook?

add_action( 'woocommerce_thankyou', 'sa_redirect_product_attribute_based', 10, 1 ); 
funzione sa_redirect_product_attribute_based ($ order_id) {
	$ordine = wc_get_ordine($ordine_id);
	if ( $ order instanceof WC_Order ) {
		foreach($ordine->get_items() as $item) {
			// Aggiungi l'ID variazione che desideri qui sotto
			if ( !vuoto( $item[ 'variation_id' ] ) && 446 == $item[ 'variation_id' ] ) {
				// cambia di seguito l'URL a cui vuoi inviare il tuo cliente
				wp_redirect( 'https://demo.storeapps.org/custom-thank-you/');
			}
		}
	}
}

Stampa il testo sulla pagina di ringraziamento in base all'attributo del prodotto

Estendendo l'esempio sopra, puoi anche visualizzare qualsiasi testo personalizzato sulla pagina di ringraziamento di WooCommerce in base all'id della variazione. Ecco il codice per questo:

add_action( 'woocommerce_thankyou', 'sa_show_custom_text_by_variation_id', 10, 1 ); 
funzione sa_show_custom_text_by_variation_id($order_id) {
	$ordine = wc_get_ordine($ordine_id);
	if ( $ order instanceof WC_Order ) {
		foreach($ordine->get_items() as $item) {
			// Aggiungi l'ID variazione che desideri qui sotto. I miei attributi sono Colore, Taglia
			if ( !vuoto( $item[ 'variation_id' ] ) && 446 == $item[ 'variation_id' ] ) {
				echo '<p>Non esitare a contattarci nel caso desideri cambiare la maglietta con una taglia diversa.</p>';
			}
		}
	}
}

Quando aggiungi il codice, la pagina di ringraziamento sarà simile a questa:

visualizzare il testo personalizzato sulla pagina di ringraziamento

Ci sono molti frammenti di codice qui. Se non ti piace la programmazione e desideri una soluzione semplice, leggi di seguito per scoprire un potente plug-in.

Come impostare una pagina di ringraziamento personalizzata per prodotto e per tutto il sito utilizzando un plug-in?

La personalizzazione della pagina di ringraziamento coinvolge molti elementi. Non è così facile sembra così. Un piccolo errore che fai durante l'aggiunta dello snippet di codice e tutto va in tilt.

Pertanto, se vuoi concentrarti maggiormente sulle vendite e sul marketing e salvarti dai problemi di codifica, ti suggeriamo di utilizzare la Pagina di ringraziamento personalizzata per il plug-in WooCommerce.

Ti aiuta a impostare una pagina di ringraziamento personalizzata per prodotto e per tutto il sito. A breve aggiungeremo il supporto per la variazione del prodotto.

Una pagina di ringraziamento ottimizzata con questo plug-in ti consente di vendere (utilizzando Smart Offers), creare un elenco di e-mail, promuovere le tue offerte, raccogliere feedback, mostrare messaggi video, coupon e fare altre cose.

La tua pagina di ringraziamento predefinita di WooCommerce verrà convertita in un potente strumento di marketing come questo:

Pagina di ringraziamento WooCommerce personalizzata

Altre funzionalità del plug -in:

  • Quattro modelli di pagina di ringraziamento già pronti ad alta conversione per aiutarti a iniziare con il botto.
  • Reindirizza gli utenti dopo l'acquisto/il pagamento a link di affiliazione, link di terze parti o risorse.
  • Ti dà l'opportunità di creare la pagina di ringraziamento in base al tuo tema, plug-in e editor di pagina preferiti e progettare la pagina nel modo desiderato.

Prova la demo dal vivo

Parole finali

Si spera che questo articolo ti abbia aiutato a comprendere l'importanza di personalizzare una pagina di ringraziamento personalizzata insieme a una buona comprensione di come farlo tramite un codice e un plug-in.

L'utilizzo di questa piccola pagina può essere un'ottima opportunità per aumentare le vendite, indipendentemente da quanto normale possa sembrarci.