我使用WooThemes的客户/订单CSV导出插件从我的商店中导出订单。但是我想在每个订单项的CSV输出中添加其他数据(进行一些计算等),我在官方WooThemes页面上找到了以下信息。
但是我想访问订单项数据,我该如何实现?例如:如何获取未存储在postmeta数据库中的'item_total'(postmeta数据库在下面的示例中列出)?
line_item数据是否包含在$ order_data中?我该如何访问它?
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 );
答案 0 :(得分:0)
您可以通过将订单ID传递给它来创建WC_Order类的对象。使用get_items(),您将获得该顺序中存在的所有项目数组。获取数组后,您可以使用get_item_meta()获取每个项元数值,并将order_item_id传递给它。