In questo articolo vedremo come inserire un Custom Field nelle di Woocommerce utilizzando Actions e Filters messi a disposizione degli sviluppatori.
Inserire un Custom Field nell’email dell’ordine Woocommerce
Vediamo subito sotto il codice che ci permette di inserire un custom field che abbiamo creato in precedenza (leggi il precedente articolo sulla personalizzazione dei campi del checkout e l’articolo relativo alla creazione dei campi codice fiscale e partita iva) nella mail che il cliente riceve alla conclusione dell’ordine:
/** * Aggiungi il campo custom nell'email del cliente **/ add_filter('woocommerce_email_order_meta_keys', 'inserisci_custom_field_nella_mail'); function inserisci_custom_field_nella_mail( $keys ) { $keys['Campo Personalizzato 1'] = '_custom_field_1; $keys['Campo Personalizzato 2'] = '_custom_field_2'; return $keys; }
Come possiamo vedere dal codice grazie al filtro woocommerce_email_order_meta_keys e una nostra funzione (che inseriamo nel file functions.php del nostro tema) che ci permette di aggiungere il custom field creato anche nella mail che l’utente riceve alla conclusione dell’ordine.
Provate per credere 😉
Buon proseguimento di lettura a tutti!
Buongiorno dot4all,
ho letto diversi tuoi articoli e mi sono stati molto utili. Ora volevo chiederti una particolarità che non riesco implementare. Vorrei inserire il campo Codice Fiscale nella sezione “Dettaglio” e nella sezione “Indirizzo di fatturazione”(in basso) nelle email, come avviene con il campo Ragione Sociale (se c’è lo inserisce e visualizza se non c’è non lo fa visualizzare). Potresti aiutarmi ?
Ti ringrazio in anticipo per l’attenzione.
S.
Il codice per l’inserimento campo codice fiscale in functions.php :
// Aggiungere il campo Codice Fiscale MYACCOUNT E CHECKOUT
add_filter( ‘woocommerce_billing_fields’ , ‘billing_field_cf’ );
function billing_field_cf( $fields ) {
$fields[‘billing_cf’] = array(
‘label’ => __(‘C.F. / P.IVA / VAT’, ‘woocommerce’),
‘placeholder’ => _x(‘C.F. / P.IVA / VAT’, ‘placeholder’, ‘woocommerce’),
‘class’ => array(‘form-row-wide’),
‘show’ => true
);
return $fields;
}
// Aggiungiamo il campo Codice Fiscale ADMIN
add_filter( ‘woocommerce_admin_billing_fields’ , ‘admin_field_cf’ );
function admin_field_cf( $fields ) {
$fields[‘cf’] = array(
‘label’ => __(‘C.F. / P.IVA / VAT’, ‘woocommerce’),
‘show’ => true
);
return $fields;
}
// Ordiniamo la posizine dei campi nel ceckout
add_filter(‘woocommerce_checkout_fields’, ‘order_fields’);
function order_fields($fields) {
$order = array(
“billing_first_name”,
“billing_last_name”,
“billing_company”,
“billing_cf”,
“billing_email”,
“billing_phone”,
“billing_address_1”,
“billing_address_2”,
“billing_postcode”,
“billing_country”,
“billing_state”,
);
foreach($order as $field){
$ordered_fields[$field] = $fields[“billing”][$field];
unset($fields[“billing”][$field]);
}
foreach($tmp_fields = $fields[‘billing’] as $key => $field){
$ordered_fields[$key] = $fields[“billing”][$key];
}
$fields[“billing”] = $ordered_fields;
return $fields;
}
// Stile personalizzato per il campo Codice Fiscale / Partita I.V.A.
function custom_colors() {
echo ‘
._billing_cf_field{clear: both!important;width: 100%!important;}
‘;
}
add_action(‘admin_head’, ‘custom_colors’);