Hello! This code works really well but not able to choose what to display, In order view and in email it displays extra_product_field but i want to display only 'Product'. It have a costum text option in email too but not working, I try everything but it looks like im too beginner for this :(

// Display custom field on single product page

function d_extra_product_field(){

$value = isset( $_POST['extra_product_field'] ) ? sanitize_text_field( $_POST['extra_product_field'] ) : '';

printf( '<div><label>%s</label><br><textarea name="extra_product_field" value="%s"></textarea></div>', __( 'Enter your custom text' ), esc_attr( $value ) );

}

add_action( 'woocommerce_after_add_to_cart_button', 'd_extra_product_field', 9 );

// validate when add to cart

function d_extra_field_validation($passed, $product_id, $qty){

if( isset( $_POST['extra_product_field'] ) && sanitize_text_field( $_POST['extra_product_field'] ) == '' ){

$product = wc_get_product( $product_id );

wc_add_notice( sprintf( __( '%s cannot be added to the cart until you enter some text.' ), $product->get_title() ), 'error' );

return false;

}

return $passed;

}

add_filter( 'woocommerce_add_to_cart_validation', 'd_extra_field_validation', 10, 3 );

// add custom field data in to cart

function d_add_cart_item_data( $cart_item, $product_id ){

if( isset( $_POST['extra_product_field'] ) ) {

$cart_item['extra_product_field'] = sanitize_text_field( $_POST['extra_product_field'] );

}

return $cart_item;

}

add_filter( 'woocommerce_add_cart_item_data', 'd_add_cart_item_data', 10, 2 );

// load data from session

function d_get_cart_data_f_session( $cart_item, $values ) {

if ( isset( $values['extra_product_field'] ) ){

$cart_item['extra_product_field'] = $values['extra_product_field'];

}

return $cart_item;

}

add_filter( 'woocommerce_get_cart_item_from_session', 'd_get_cart_data_f_session', 20, 2 );

//add meta to order

function d_add_order_meta( $item_id, $values ) {

if ( ! empty( $values['extra_product_field'] ) ) {

woocommerce_add_order_item_meta( $item_id, 'extra_product_field', $values['extra_product_field'] );

}

}

add_action( 'woocommerce_add_order_item_meta', 'd_add_order_meta', 10, 2 );

// display data in cart

function d_get_itemdata( $other_data, $cart_item ) {

if ( isset( $cart_item['extra_product_field'] ) ){

$other_data[] = array(

'name' => __( 'Your extra field text' ),

'value' => sanitize_text_field( $cart_item['extra_product_field'] )

);

}

return $other_data;

}

add_filter( 'woocommerce_get_item_data', 'd_get_itemdata', 10, 2 );

// display custom field data in order view

function d_dis_metadata_order( $cart_item, $order_item ){

if( isset( $order_item['extra_product_field'] ) ){

$cart_item_meta['extra_product_field'] = $order_item['extra_product_field'];

}

return $cart_item;

}

add_filter( 'woocommerce_order_item_product', 'd_dis_metadata_order', 10, 2 );

// add field data in email

function d_order_email_data( $fields ) {

$fields['extra_product_field'] = __( 'Your extra field text' );

return $fields;

}

add_filter('woocommerce_email_order_meta_fields', 'd_order_email_data');

// again order

function d_order_again_meta_data( $cart_item, $order_item, $order ){

if( isset( $order_item['extra_product_field'] ) ){

$cart_item_meta['extra_product_field'] = $order_item['extra_product_field'];

}

return $cart_item;

}

add_filter( 'woocommerce_order_again_cart_item_data', 'd_order_again_meta_data', 10, 3 );