Come aggiungere e modificare lo stato dell'ordine personalizzato in WooCommerce

Pubblicato: 2022-05-14

Vuoi aggiungere e modificare lo stato dell'ordine personalizzato in WooCommerce? Possono essere molto utili per dare maggiore chiarezza sullo stato degli ordini dei tuoi clienti.

Per impostazione predefinita, WordPress e WooCommerce non ti consentono di aggiungere lo stato dell'ordine personalizzato. Ma con l'aiuto dei codici, possiamo aggiungerli al tuo negozio online e modificarli in pochissimo tempo. Tuttavia, diamo un'occhiata al motivo per cui potresti dover aggiungere o modificare lo stato dell'ordine personalizzato in WooCommerce prima di iniziare il processo.

Perché aggiungere e modificare lo stato dell'ordine personalizzato in WooCommerce?

Il corretto utilizzo dello stato dell'ordine è molto importante per garantire il processo di acquisto su qualsiasi negozio online. In un sito di eCommerce, possono esserci diversi passaggi che i clienti devono seguire per completare un acquisto. Naturalmente, questi passaggi aggiuntivi si tradurranno in un minor numero di vendite.

In alternativa, minore è lo stato dell'ordine che dobbiamo gestire, migliore sarà il tasso di vendita di un negozio di eCommerce. Inoltre, renderà le cose più facili e semplici da gestire nel sito web in generale.

Tuttavia, avremo bisogno di almeno due tipi di stato dell'ordine in tutti i casi. Il primo tipo di stato dell'ordine è necessario quando l'utente effettua un ordine con successo. Può essere impostato su pagamento in sospeso, elaborazione o sospeso.

Allo stesso modo, abbiamo anche bisogno di un altro stato dell'ordine che assomigli al completamento dell'ordine. Qui, il cliente potrebbe aver effettuato un pagamento e ricevuto il prodotto. Ma se l'ordine non viene completato a causa di un evento sfortunato, potrebbe anche essere impostato come non riuscito, annullato o rimborsato.

Quindi, nel complesso, abbiamo i seguenti stati degli ordini predefiniti disponibili in WooCommerce che possiamo utilizzare liberamente:

  • In attesa di Pagamento
  • fallito
  • in lavorazione
  • Completato
  • In attesa
  • Annullato
  • Rimborsato

Questi stati degli ordini sono abbastanza adeguati per qualsiasi sito di eCommerce. Sono anche più che sufficienti per ciò che il sito Web medio può utilizzare.

Ma se questi stati predefiniti non sono ancora sufficienti per te, dovrai sicuramente creare alcuni stati personalizzati per il tuo negozio online. Aggiungerli al tuo sito Web darà sicuramente ai tuoi clienti una comprensione più chiara dello stato dei loro ordini WooCommerce. Ad esempio, se desideri che uno stato dell'ordine informi specificamente i clienti che il loro ordine è in attesa di chiamata, dovrai aggiungere uno stato dell'ordine WooCommerce personalizzato.

Come creare uno stato dell'ordine personalizzato WooCommerce?

Gli ordini WooCommerce sono trattati come un tipo speciale di post personalizzato. Pertanto, ha un valore post_status allegato alla tabella wp_posts del database allo stesso modo di qualsiasi altro tipo di post.

Quindi, per includere il nostro stato dell'ordine personalizzato nell'elenco di stato disponibile, dobbiamo utilizzare la funzione integrata register_post_status() WP.

Ma prima di procedere, assicurati di creare un tema figlio a livello di codice o utilizzando uno dei plugin del tema figlio per apportare queste modifiche. Ciò garantisce che le personalizzazioni che apporti ai file del tema non vengano alterate quando aggiorni il tuo tema WordPress. Allo stesso modo, ti ricordiamo anche di eseguire il backup del tuo sito Web WordPress in modo da poter ripristinare il tuo sito Web se vengono apportate modifiche non necessarie per errore.

1. Accedi al file functions.php

Per creare e modificare uno stato dell'ordine personalizzato in WooCommerce, dovrai prima accedere al file della funzione del tema. Per prima cosa, vai su Aspetto > Editor di file del tema dalla dashboard di WordPress. Quindi, seleziona il file " funtions.php " dai file del tema sul lato destro dello schermo.

2. Aggiungi i codici al file functions.php

Ora, copia e incolla il seguente script nel file functions.php del tuo tema figlio. Questo creerà un nuovo stato dell'ordine personalizzato chiamato "Chiamata in attesa".

 // Registra nuovo stato
funzione register_wait_call_order_status() {
register_post_status( 'wc-waiting-call', array(
'label' => 'Chiamata in attesa',
'pubblico' => vero,
'show_in_admin_status_list' => vero,
'show_in_admin_all_list' => vero,
'exclude_from_search' => falso,
'label_count' => _n_noop( 'Chiamata in attesa (%s)', 'Chiamata in attesa (%s)' )
) );
}
// Aggiungi uno stato personalizzato all'elenco dello stato dell'ordine
funzione add_wait_call_to_order_statuses ($ order_statuses) {
$nuovo_ordine_stati = array();
foreach ( $ order_statuses as $ key => $ status ) {
$nuovo_stato_ordine[ $chiave] = $stato;
if ( 'wc-in-attesa' === $chiave ) {
$new_order_statuses['wc-waiting-call'] = 'Chiamata in attesa';
}
}
restituisci $nuovi_stati_di_ordine;
}
add_action('init', 'register_wait_call_order_status');
add_filter( 'wc_order_statuses', 'add_wait_call_to_order_statuses' );

Nota che stiamo usando un paio di ganci qui. Il primo è wp_init() e viene utilizzato per registrare il nostro nuovo stato. Una volta che lo stato è registrato, questa funzione non è più necessaria, è possibile rimuovere questo hook e la sua funzione di callback al termine.

E il secondo è l'hook del filtro wc_order_statuses() , che include il nuovo stato dell'ordine nell'elenco disponibile. Quindi può essere utilizzato quando lo alleghi a un ordine dalla dashboard di amministrazione di WooCommerce.

Puoi vedere il nuovo stato dell'ordine personalizzato quando modifichi uno qualsiasi degli ordini da WooCommerce > Ordini dalla dashboard di WordPress. Quindi, fai clic sull'opzione di stato e lo stato dell'ordine "In attesa di chiamata" verrà visualizzato nel menu a discesa.

modifica lo stato dell'ordine personalizzato in woocommerce crea lo stato dell'ordine personalizzato

Modifica lo stato di un ordine esistente su WooCommerce

Possiamo anche usare lo stesso hook del filtro visto nel precedente script di esempio wc_order_statuses() per cambiare il nome dello stato dell'ordine esistente.

Il seguente codice di esempio modificherà due statistiche dell'ordine: "elaborazione" e "completato", modificandole in "in corso" e "consegnato":

 funzione QuadLayers_rename_status($stati_ordine) {
foreach ( $ order_statuses as $ key => $ status ) {
if ( 'elaborazione wc' === $chiave ) {
$order_statuses['wc-processing'] = _x( 'In corso', 'Stato ordine', 'woocommerce' );
}
if ( 'wc-completato' === $chiave ) {
$order_statuses['wc-completed'] = _x( 'Consegnato', 'Stato ordine', 'woocommerce' );
}
}
restituisce $status_ordine;
}
add_filter('wc_order_statuses', 'QuadLayers_rename_status');

Non dimenticare di aggiornare il file dopo aver aggiunto i codici.

Questo è tutto! Ecco come puoi modificare lo stato di un ordine esistente o personalizzato sul tuo sito Web WooCommerce.

modifica lo stato dell'ordine personalizzato in woocommerce Rinomina lo stato dell'ordine woocommerce

Rimuovere lo stato di un ordine in WooCommerce

Anche in questo caso, wc_order_statuses() sarà utile per rimuovere uno stato specifico dell'ordine. In questo caso, stiamo rimuovendo lo stato dell'ordine "rimborsato".

Utilizzare lo script seguente per rimuovere uno stato dell'ordine esistente. Funzionerà sia per gli stati degli ordini predefiniti che per quelli personalizzati.

 funzione QuadLayers_remove_status($stati) {
if( isset( $statuses['wc-refunded'] ) ){
unset($statuses['wc-refunded']);
}
restituire $stati;
}
add_filter( 'wc_order_statuses', 'QuadLayers_remove_status' );

Tieni presente che se rimuovi uno stato di ordine WooCommerce predefinito, ciò potrebbe interrompere l'integrazione con alcuni gateway di pagamento.

Conclusione

Questi sono alcuni dei vari modi per aggiungere e modificare lo stato dell'ordine personalizzato in WooCommerce con l'aiuto dei codici. Possono essere ulteriormente modificati per modificare e rimuovere anche gli stati degli ordini WooCommerce esistenti predefiniti. Tuttavia, devi solo aggiungere nuovi stati degli ordini personalizzati o modificare quelli esistenti se gli stati degli ordini predefiniti non sono sufficienti per te e per le esigenze dei tuoi clienti.

Come puoi vedere, è davvero facile aggiungere e modificare uno stato dell'ordine personalizzato sul tuo negozio online. Ma devi avere una conoscenza di base su come usare gli hook di WooCommerce. Allo stesso modo, se vuoi saperne di più sugli ordini WooCommerce, abbiamo anche guide dettagliate su come testare, ripetere, eliminare e persino completare automaticamente gli ordini in WooCommerce.

Quindi hai provato a modificare e aggiungere gli stati degli ordini sul tuo sito web? Per favore fateci sapere nei commenti.

Nel frattempo, sentiti libero di dare un'occhiata ad altri nostri post che potrebbero esserti utili:

  • Come creare un plugin personalizzato per WordPress
  • I migliori plugin WooCommerce per ripetere gli ordini
  • Come aggiungere commissioni a WooCommerce Checkout