Knowband Blog | Ecommerce Modules

Come modificare lo stato dell'ordine predefinito su WooCommerce

A volte, durante lo sviluppo di un sito Web di e-commerce, dovrai controllare automaticamente lo stato del pagamento e contrassegnare lo stato dell'ordine come "Aver completato il“”Attesa Pagamento"o in base alle tue esigenze. Uno stato dell'ordine predefinito è impostato sulla base del pagamento effettuato. Gli utenti front-end possono controllare lo stato del loro ordine nella pagina Cronologia account. In questo blog impareremo come modificare lo stato dell'ordine predefinito su Woo Commerce come "Fattura da stampare" passo dopo passo.

Passaggio 1: creare un plug-in personalizzato

Per creare un plug-in personalizzato sul tuo sito Web, procedi come segue:

1. Passare alla cartella dei plugin di Word Press, nel nostro caso si tratta di app / plug-in. Crea una cartella come "customstatus“.

Nota importante: Assegna alla tua cartella un nome univoco (il nome dei plug-in predefiniti di Word Press non deve essere in conflitto con il nome del tuo plug-in) utilizzando lettere minuscole e trattini.

2. Ora crea il file PHP principale del tuo plugin. Per fare ciò, crea un file PHP nella cartella del tuo plugin e assegnagli lo stesso nome della cartella. Nel nostro caso, il nome della cartella è "customstatus", quindi il nome del file sarà customstatus.php.

3. Imposta le informazioni del tuo plug-in. Basta copiare incolla il codice seguente nel file customstatus.php.

/ **
?* Plugin Name: My First Plugin
?* Plugin URI: https://www.mywebsite.com/my-first-plugin
?* Description: The very first plugin that I have ever created.
?* Version: 1.0
?* Author: Your Name
?* Author URI: https://www.mywebsite.com
?*/

Nota: Modifica i dettagli come Nome autore, Nome plug-in, Descrizione, ecc. In base alle tue esigenze.

4. Questo è tutto! Hai appena completato il numero minimo di passaggi necessari per creare un plug-in Word Press. Ora puoi attivarlo dalla scheda Plugin in Word Press admin.

Passaggio 2: aggiungi il codice nel plug-in personalizzato

1. Ora dobbiamo creare una funzione e agganciarla a un'azione specifica. Copia semplicemente la funzione seguente nel tuo customstatus.php.

2. Poiché vogliamo aggiornare lo stato dell'ordine al pagamento completo, aggiungi un'azione all'hook "woocommerce_payment_complete" come indicato di seguito nel codice evidenziato. // COPIA IL CODICE INTERO NEL FILE customstatus.php.

# <editor-fold defaultstate = "collapsed" desc = "Stato predefinito come fattura da stampare"> funzione action_woocommerce_payment_complete ($ order_id) {if (! $ order_id) return; $ order = wc_get_order ($ order_id); $ order-> update_status ('wc-print-fattura'); // Lo stato dell'ordine verrà aggiornato in "Fattura da stampare". }; // aggiungi l'azione add_action ('woocommerce_payment_complete', 'action_woocommerce_payment_complete', 10, 3); # </ Redattore fold>

3. Basta salvare il file customstatus.php ed è fatto. D'ora in poi, lo stato dell'ordine verrà aggiornato in "Fattura da stampare" al termine del pagamento.

NOTA UTILE: Se desideri aggiornare lo stato dell'ordine quando viene caricata la pagina "Grazie" o "Pagamento riuscito", puoi aggiungere l'azione sul gancio "woocommerce_thankyou". In customstatus.php sostituisci add_action ('woocommerce_payment_complete', 'action_woocommerce_payment_complete', 10, 3); con add_action ('woocommerce_thankyou', 'ggb_custom_change_order_status', 10,3);