Field custom
<?php
add_action('woocommerce_after_checkout_billing_form', 'checkout_delivery_date', 20);
function checkout_delivery_date() {
$args = array(
'type' => 'text',
'class' => array('form-row-wide'),
'id' => 'delivery_date',
'required' => false,
'label' => __('Leverdatum'),
'placeholder' => __('dd-mm-yy'),
);
echo '<div id="checkout_delivery_date">';
echo '<h4>' . __('Kies een gewenste leverdatum', 'sandersgifts') . '</h4>';
echo '<style>#checkout_delivery_date{margin-top:15px;}</style>';
woocommerce_form_field( 'delivery_date', $args );
echo '</div>';
}
add_action('woocommerce_checkout_update_order_meta', 'woocommerce_checkout_update_order_meta', 20);
function woocommerce_checkout_update_order_meta($order_id) {
if( isset( $_POST['delivery_date'] ) ) {
$order = wc_get_order( $order_id );
$note = __('Gewenste leverdatum - ') . trim( $_POST['delivery_date'] );
$order->add_order_note( $note );
update_post_meta($order_id, 'delivery_date', trim( $_POST['delivery_date'] ));
}
}
add_action('woocommerce_email_after_order_table', 'order_details_delivery_date', 20);
function order_details_delivery_date($order) {
$meta = get_order_meta($order);
if( $meta !== '' ) {
echo '<tr>
<th scope="row">' . __('Gewenste leverdatum', 'sandersgifts') . '</th>
<td>'.$meta.'</td>
</tr>';
}
}
add_action('woocommerce_order_details_after_order_table_items', 'email_order_delivery_date', 20);
function email_order_delivery_date($order) {
$meta = get_order_meta($order);
if( $meta !== '' ) {
echo '<div style="margin-bottom:40px">';
echo '<strong>'.__( 'Gewenste leverdatum:', 'sandersgifts' ).'</strong>';
echo '<p>' . $meta . '</p>';
echo '</div>';
}
}
add_action('woocommerce_admin_order_data_after_shipping_address', 'print_order_delivery_date', 20);
function print_order_delivery_date($order) {
$meta = get_order_meta($order);
if( $meta !== '' ) {
echo '<h3>' . __('Gewenste leverdatum', 'sandersgifts') . '</h3>';
echo '<p>' . $meta . '</p>';
}
}
function get_order_meta($order) {
if( is_object($order) ) {
$order_id = $order->get_ID();
} else {
$order_id = $order;
}
return get_post_meta($order_id, 'delivery_date', true);
}