Я хочу экспортировать свои заказы с дополнительной информацией о продукте. Поэтому я написал функцию для получения каждого элемента из заказа в одну строку (в моем случае это CSV).
Я использую следующий код для получения дополнительной информации о продукте. Это работает хорошо, но если у меня есть пакет в заказе, информация о продукте неверна. Они показывают каждый элемент с одинаковой информацией о поставщике / пользователе. Но внутри пакета находятся продукты от разных поставщиков / пользователей.
Есть ли другой способ получить эту информацию из пакетов?
function sv_wc_csv_export_modify_row_data_example( $order_data, $order, $csv_generator ) {
// Loop through order line items
foreach( $order->get_items() as $item ){
$item_vendor_id = get_post_field( 'post_author', $item->get_product_id() );
$custom_data = array(
// Commissin/Fee
'item_commission' => '',
'item_fee' => '',
// User/Vendor
'item_vendor_id' => $item_vendor_id,
'vendor_username' => get_the_author_meta( 'username', $item_vendor_id ),
'vendor_user_email' => get_the_author_meta( 'user_email', $item_vendor_id ),
// Address
'vendor_company' => get_the_author_meta( '_wcv_custom_settings_company_name', $item_vendor_id ),
'vendor_street' => get_the_author_meta( '_wcv_store_address1', $item_vendor_id ),
'vendor_housenumber' => get_the_author_meta( '_wcv_store_address2', $item_vendor_id ),
'vendor_zip' => get_the_author_meta( '_wcv_store_postcode', $item_vendor_id ),
'vendor_city' => get_the_author_meta( '_wcv_store_city', $item_vendor_id ),
'vendor_country' => get_the_author_meta( '_wcv_store_country', $item_vendor_id ),
);
}
return sv_wc_csv_export_add_custom_order_data( $order_data, $custom_data, $csv_generator );
}
add_filter( 'wc_customer_order_export_csv_order_row', 'sv_wc_csv_export_modify_row_data_example', 10, 3 );