WooCommerce: получить данные от каждого продукта в комплекте - PullRequest
0 голосов
/ 22 апреля 2020

Я хочу экспортировать свои заказы с дополнительной информацией о продукте. Поэтому я написал функцию для получения каждого элемента из заказа в одну строку (в моем случае это 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 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...