// Add a new checkout field
function kia_filter_checkout_fields($fields){
$fields['extra_fields'] = array(
'f1' => array('type' => 'text', 'required' => false, 'label' => 'Название компании'),
'f2' => array('type' => 'text', 'required' => false, 'label' => 'Юридический адрес'),
'f3' => array('type' => 'number', 'required' => false, 'label' => 'ИНН'),
'f4' => array('type' => 'number', 'required' => false, 'label' => 'КПП'),
'f5' => array('type' => 'text', 'required' => false, 'label' => 'Контактное лицо'),
'f6' => array('type' => 'email', 'required' => false, 'label' => 'E-Mail'),
'f7' => array('type' => 'text', 'required' => false, 'label' => 'Телефон'),
'f8' => array('type' => 'text', 'required' => false, 'label' => 'Факс'),
'f9' => array('type' => 'number', 'required' => false, 'label' => 'Индекс'),
'f10' => array('type' => 'text', 'required' => false, 'label' => 'Местоположение'),
'f11' => array('type' => 'textarea', 'required' => false, 'label' => 'Адрес доставки'),
);
return $fields;
}
add_filter( 'woocommerce_checkout_fields', 'kia_filter_checkout_fields' );
// display the extra field on the checkout form
function kia_extra_checkout_fields(){
$checkout = WC()->checkout(); ?>
<div class="extra-fields">
<div class="row clicker" ><h3>Юридическим лицам</h3> <i class="fa fa-angle-down"></i><i class="fa fa-angle-up" aria-hidden="true"></i></div>
<div class="hide09">
<?php foreach ( $checkout->checkout_fields['extra_fields'] as $key => $field ) : ?>
<?php woocommerce_form_field( $key, $field, $checkout->get_value( $key ) ); ?>
<?php endforeach; ?>
</div>
</div>
<?php }
add_action( 'woocommerce_checkout_after_customer_details' ,'kia_extra_checkout_fields' );
// save the extra field when checkout is processed
function kia_save_extra_checkout_fields( $order_id, $posted ){
$checkout = WC()->checkout();
foreach ( $checkout->checkout_fields['extra_fields'] as $key => $field ) :
if( isset( $posted[$key] ) ) { update_post_meta( $order_id, '_'.$key, sanitize_text_field( $posted[$key] ) ); }
endforeach;
}
add_action( 'woocommerce_checkout_update_order_meta', 'kia_save_extra_checkout_fields', 10, 2 );
// display the extra data in the order admin panel
function kia_display_order_data_in_admin( $order ){
$ar = array(1=>'Название компании', 'Юридический адрес', 'ИНН', 'КПП', 'Контактное лицо', 'E-Mail', 'Телефон', 'Факс', 'Индекс', 'Местоположение', 'Адрес доставки');
?>
<div class="order_data_column">
<h4>Юридическим лицам</h4>
<?php
for($i = 1;$i <= 11; $i++){
echo '<p><strong>' .$ar[$i] . ':</strong>' . get_post_meta( $order->id, '_f'.$i, true ) . '</p>';
} ?>
</div>
<?php }
add_action( 'woocommerce_admin_order_data_after_order_details', 'kia_display_order_data_in_admin' );