Skip to content

Instantly share code, notes, and snippets.

@webtoffee-git
Last active July 3, 2022 15:28
Show Gist options
  • Save webtoffee-git/102b1dbf8d195593c442ad85866a2843 to your computer and use it in GitHub Desktop.
Save webtoffee-git/102b1dbf8d195593c442ad85866a2843 to your computer and use it in GitHub Desktop.
Export custom meta data before line item columns in CSV with Order / Coupon / Subscription Import  Export Plugin for WooCommerce (https://www.webtoffee.com/product/order-import-export-plugin-for-woocommerce/)
<?php // do not copy this line
add_filter('hf_alter_csv_header', 'hf_csv_order_add_more_columns', 10, 1);
function hf_csv_order_add_more_columns($csv_columns)
{
$new_csv_columns = array();
$lineitem_csv_columns = array();
$temp_order_metadata = array('RDI','LDI'); //Give the custom field required to export
foreach ($csv_columns as $data_key => $data_value) {
if(strstr($data_key, 'line_item_')){
$lineitem_csv_columns[$data_key] = $data_value;
unset($csv_columns[$data_key]);
}
}
$new_csv_columns = array_merge($csv_columns,$temp_order_metadata,$lineitem_csv_columns);
return $new_csv_columns;
}
add_filter('hf_alter_csv_order_data', 'wt_alter_csv_order_data', 10, 1);
function wt_alter_csv_order_data($order_data) {
$new_csv_columns = array();
$lineitem_csv_columns = array();
$temp_order_metadata = array('RDI', 'LDI'); //Give the custom field required to export
foreach ($order_data as $d_key => $d_value) {
if (strstr($d_key, 'line_item_')) {
$lineitem_csv_columns[$d_key] = $d_value;
unset($order_data[$d_key]);
}
}
foreach ($temp_order_metadata as $key => $value) {
$order_data[$value] = get_post_meta($order_data['order_id'], $value, true);
}
$new_csv_columns = array_merge($order_data, $lineitem_csv_columns);
return $new_csv_columns;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment