Aggiungere campi al form di registrazione ordine di WooCommerce

FavoriteLoadingAggiungi ai preferitiReading Time: 1 minute

In questa breve guida vediamo come aggiungere dei campi al form di registrazione ordine di WooCommerce.

Ammettiamo di voler aggiungere un campo per l’inserimento della partita iva e un campo per l’inserimento del codice fiscale al form di registrazione del nostro ordine

woocommerce form registrazione ordine

Apriamo il file functions.php del nostro template ed inseriamo il seguente codice

 

add_action( 'woocommerce_after_order_notes', 'my_custom_checkout_field' );
 
function my_custom_checkout_field( $checkout ) {
 
	woocommerce_form_field( 'my_field_name', array(
	'type' => 'text',
	'class' => array('my-field-class form-row-wide'),
	'label' => __('P.I.'),
	'placeholder' => __(''),
	), $checkout->get_value( 'csa_p_iva' ));
 
	woocommerce_form_field( 'my_field_name_2', array(
	'type' => 'text',
	'class' => array('my-field-class form-row-wide'),
	'label' => __('C.F.'),
	'placeholder' => __(''),
	), $checkout->get_value( 'csa_c_f' ));
 
} 
 
/**
* Update the order meta with field value
*/
add_action( 'woocommerce_checkout_update_order_meta', 'my_custom_checkout_field_update_order_meta' );
 
function my_custom_checkout_field_update_order_meta( $order_id ) {
	if ( ! empty( $_POST['my_field_name'] ) ) {
		update_post_meta( $order_id, 'P.I.', sanitize_text_field( $_POST['my_field_name'] ) );
	}
	if ( ! empty( $_POST['my_field_name_2'] ) ) {
		update_post_meta( $order_id, 'C.F.', sanitize_text_field( $_POST['my_field_name_2'] ) );
	}
}

Salviamo e il nostro form sarà cosi

woocommerce-form-registrazione-ordine-campi-aggiuntivi

 

Nel pannello woocommerce il dettaglio dell’ordine riporterà anche il valore dei nostri campi.

Testato con WooCommerce 2.2.10 e WordPress 4.1