'Column 1', 'column_2' => 'Column 2', // add other column headers here in the format column_key => Column Name ); return array_merge( $column_headers, $new_headers ); } add_filter( 'wc_customer_order_csv_export_order_headers', 'wc_csv_export_modify_column_headers' ); // set the data for each for custom columns function wc_csv_export_modify_row_data( $order_data, $order, $csv_generator ) { $custom_data = array( 'column_1' => get_post_meta( $order->id, 'some_meta_key', true ), 'column_2' => get_post_meta( $order->id, 'some_other_meta_key', true ), // add other row data here in the format column_key => data ); $new_order_data = array(); if ( isset( $csv_generator->order_format ) && ( 'default_one_row_per_item' == $csv_generator->order_format || 'legacy_one_row_per_item' == $csv_generator->order_format ) ) { foreach ( $order_data as $data ) { $new_order_data[] = array_merge( (array) $data, $custom_data ); } } else { $new_order_data = array_merge( $order_data, $custom_data ); } return $new_order_data; } add_filter( 'wc_customer_order_csv_export_order_row', 'wc_csv_export_modify_row_data', 10, 3 );