In questa guida vedremo come aggiungere field alla form di check out e alla pagina di modifica dati fatturazione dell’utente.
Aggiunta dei campi (pagina checkout)
<?php
function wp_travel_add_extra_checkout_fields($fields){
// getting user data set in user area
$user = wp_get_current_user();
$billing_data = get_user_meta($user->ID, 'wp_travel_customer_billing_details', true);
$default_value = isset($billing_data['wp_travel_billing_name']) ? $billing_data['wp_travel_billing_name'] : '';
// Edit the form heading
$fields['wp_travel_billing_address_heading'] = array(
'type' => 'heading',
'label' => __( 'Billing Informations', 'wp-travel' ),
'name' => 'wp_travel_billing_address_heading',
'id' => 'wp-travel-billing-address-heading',
'class' => 'panel-title',
'heading_tag' => 'h4',
'priority' => 1,
);
$fields['new_field_name'] = array(
'type' => 'text', // other type, image, textarea, etc
'label' => __( 'New Field Name', 'wp-travel' ),
'name' => 'new_field_name',
'id' => 'new-field-id',
'validations' => array(
'required' => true, //
),
'priority' => 10,
'default' => $default_value
);
return $fields;
}
add_filter('wp_travel_checkout_billing_fields', 'wp_travel_add_extra_checkout_fields');
Mostare i campi nella pagina di riepilogo ordine (Back end)
function wp_travel_admin_extra_checkout_fields($order_details){
global $post;
$new_field_value = get_post_meta($post->ID, 'new_field_value', true);
?>
<div class="my-order-single-field clearfix">
<span class="my-order-head"><?php esc_html_e( 'New Field Label:', 'wp-travel' ); ?></span>
<span class="my-order-tail"><?php echo $new_field_value; ?></span>
</div>
<?php
}
add_action('wp_travel_booked_times_details', 'wp_travel_admin_extra_checkout_fields');
Aggiungere Campi per i dati del viaggiatore
Procedere come nel primo paragrafo, utilizzando il seguente filtro wp_travel_checkout_traveller_fields
function wp_travel_add_traveller_field($traveller_fields){
...
}
add_fiter('wp_travel_checkout_traveller_fields', 'wp_travel_add_traveller_field');