Migliorare la funzionalità del tuo negozio WooCommerce spesso implica la personalizzazione dell'interfaccia di amministrazione per soddisfare le tue esigenze specifiche. Una personalizzazione utile è l'aggiunta di campi personalizzati agli ordini WooCommerce nell'area di amministrazione. Questi campi aggiuntivi ti consentono di acquisire e visualizzare informazioni extra su ogni ordine, che si tratti di istruzioni speciali, note interne o dettagli di tracciamento personalizzati. In questa guida, imparerai come aggiungere i tuoi campi alla pagina di modifica degli ordini WooCommerce utilizzando PHP. Strumenti come Codice WP O Frammenti di codice si consiglia di integrare in modo sicuro questo codice senza alterare i file core.
Utilizzando PHP, puoi sfruttare gli hook di WooCommerce sia per visualizzare i campi personalizzati nella pagina di modifica dell'ordine sia per salvare i dati quando l'ordine viene aggiornato. L'esempio seguente mostra come aggiungere un campo di testo personalizzato etichettato "Custom Field" al pannello dei dettagli dell'ordine e memorizzare il valore del campo.
<?php
// Display the custom admin field on the WooCommerce order edit page
function add_custom_admin_order_field( $order ) {
// Retrieve the current value of the custom field
$custom_field_value = get_post_meta( $order->get_id(), '_custom_field', true );
?>
<div class="order_data_column">
<h4><?php _e( 'Custom Information', 'text_domain' ); ?></h4>
<p class="form-field form-field-wide">
<label for="custom_field"><?php _e( 'Custom Field:', 'text_domain' ); ?></label>
<input type="text" name="custom_field" id="custom_field" value="<?php echo esc_attr( $custom_field_value ); ?>" />
</p>
</div>
<?php
}
add_action( 'woocommerce_admin_order_data_after_order_details', 'add_custom_admin_order_field' );
// Save the custom field data when the order is updated
function save_custom_admin_order_field( $order_id ) {
if ( isset( $_POST['custom_field'] ) ) {
update_post_meta( $order_id, '_custom_field', sanitize_text_field( $_POST['custom_field'] ) );
}
}
add_action( 'woocommerce_process_shop_order_meta', 'save_custom_admin_order_field' );
?>
Il codice sopra è diviso in due parti. La prima parte utilizza il woocommerce_admin_order_data_after_order_details
hook per aggiungere una sezione di campo personalizzato alla pagina di modifica dell'ordine nella dashboard di amministrazione. Il campo di input visualizza qualsiasi valore salvato in precedenza dai metadati dell'ordine.
La seconda parte utilizza il woocommerce_process_shop_order_meta
hook per salvare il valore inviato quando l'ordine viene aggiornato. Controllando se il campo è impostato in $_POST
matrice e utilizzando il aggiorna_post_meta()
funzione, tutte le modifiche apportate vengono memorizzate in modo sicuro.
Prendi in considerazione queste possibilità per migliorare ulteriormente l'implementazione dei tuoi campi personalizzati:
Aggiungere campi personalizzati agli ordini WooCommerce nell'area di amministrazione è un modo pratico per acquisire informazioni extra su misura per le tue esigenze aziendali. Utilizzando gli hook WooCommerce e PHP, puoi integrare senza problemi campi aggiuntivi nella pagina di modifica dell'ordine senza interferire con la funzionalità principale di WooCommerce. Che tu abbia semplicemente bisogno di un campo per note extra o per un'acquisizione dati più complessa, questo approccio fornisce una soluzione flessibile e sicura.
Sperimenta ed estendi questo metodo per creare un sistema di gestione degli ordini più personalizzato, in linea con le tue esigenze operative e che migliori l'efficienza complessiva del tuo negozio WooCommerce.