Php WooCommerce CSV导出器-如何访问行项目?

Php WooCommerce CSV导出器-如何访问行项目?,php,wordpress,csv,woocommerce,Php,Wordpress,Csv,Woocommerce,我使用WooThemes的Customer/Order CSV导出插件从我的店铺导出订单。但是,我想为每行项目的CSV输出添加额外数据(进行一些计算等),我在官方页面上找到了以下信息 但是,我想访问行项目数据,如何实现这一点?例如:如何获取未存储在Posteta数据库中的“item_total”(Posteta数据库在下面的示例中列出) 行项目数据是否包含在$order\u数据中?我如何访问它 function wc_csv_export_modify_row_data( $order_data

我使用WooThemes的Customer/Order CSV导出插件从我的店铺导出订单。但是,我想为每行项目的CSV输出添加额外数据(进行一些计算等),我在官方页面上找到了以下信息

但是,我想访问行项目数据,如何实现这一点?例如:如何获取未存储在Posteta数据库中的“item_total”(Posteta数据库在下面的示例中列出)

行项目数据是否包含在$order\u数据中?我如何访问它

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 );

您可以通过向WC_Order类传递订单id来创建该类的对象。使用get_items()可以获得按该顺序出现的所有项数组。获取数组后,可以使用get_item_meta()获取每个项的元数据,并将order_item_id传递给它