1. Home
  2. Amministrazione IT, Gestione Server e Sviluppo Codice
  3. Aggiungere nuovi campi nella form checkout (WP Travel)

Aggiungere nuovi campi nella form checkout (WP Travel)

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');
Ultimo aggiornamento il Maggio 11, 2020

Questo articolo è stato utile?

Articoli correlati