• Всем здравствуйте. Есть такой запрос, чтобы выгружать готовые заказы от клиентов из woocommerce, в Excel файл. Для того чтобы этот Excel потом использовать в другой программе. Всё переискал, либо сервисы платные, либо то, что я не могу сделать сам.
    Может с сервера можно? Везде пишут про импорт/экспорт товаров, но это мне понятно, пользуюсь этим 100 лет. А заказы победить не могу;(

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • выгружать готовые заказы от клиентов из woocommerce, в Excel файл

    В каталоге не искали? Большинство плагинов экспортируют в Excel/CSV
    https://ru.wordpress.org/plugins/search/orders+export/

    Видел этот плагин. Мне нужно с полным списком заказанных товаров и все данные покупателя. Артикулы цены и тд

    @kw56 Спасибо за помощь, но многие дублируют друг друга. Поищу

    Вам по ходу вот этот плагин нужен https://ru.wordpress.org/plugins/order-export-for-woocommerce/

    там у них есть видос. На нем примерно на 5-й минуте то что вам надо показывают.

    PS а вообще там и написать не особо сложно (если без интерфейса, чисто под себя). Я когда-то тоже что-то похоже писал.

    Типа такого будет:

    use PhpOffice\PhpSpreadsheet\Spreadsheet;
    use PhpOffice\PhpSpreadsheet\Writer\Xlsx; 
    function eotefw_tt() {
    	$spreadsheet = new Spreadsheet();
    	$sheet = $spreadsheet->getActiveSheet();
    	$sheet->setCellValue('A1', '№');
    	$sheet->setCellValue('B1', 'Дата');
    	$sheet->setCellValue('C1', 'Имя'); 
    	$sheet->setCellValue('D1', 'Email'); 
    
    	$sheet->setCellValue('E1', 'ИТОГО'); 
    	$sheet->setCellValue('F1', 'Cкидка'); 
    	$sheet->setCellValue('G1', 'Позиций');
    	$sheet->setCellValue('H1', 'Статус');	
    	$sheet->setCellValue('I1', 'ID-товара');
    	$sheet->setCellValue('J1', 'Стоимость товара');		
    
    /*	$sheet->setCellValue('E1', 'ID-товара'); 
    	$sheet->setCellValue('F1', 'Цена'); 
    	$sheet->setCellValue('G1', 'Cкидка'); 
    	$sheet->setCellValue('H1', 'ИТОГО'); 
    	$sheet->setCellValue('I1', 'Статус');*/
    
    	$query = new WC_Order_Query(array('limit' => -1, 'return' => 'ids', 'orderby' => 'date', 'order' => 'DESC',));
    	$orders_arr = $query->get_orders();	
    	if (!empty($orders_arr)) {
    	 $numrow = 2;
    	 for ($i = 0; $i < count($orders_arr); $i++) {
    	   // https://wp-kama.ru/function/wc_get_order
    	   $order = wc_get_order($orders_arr[$i]); // объект с деталями заказа
    	   $data = $order->get_data();
    	   
    	   
    	   // var_dump($data);
    
    	   $email = (string)$data['billing']['email'];
    	   $first_name = (string)$data['billing']['first_name'];
    	   $date_created = $data['date_created']->date('Y-m-d');
    	   
    	   $namecell = 'A'.$numrow; $sheet->setCellValue($namecell, $orders_arr[$i]);
    	   $namecell = 'B'.$numrow; $sheet->setCellValue($namecell, $date_created);
    	   $namecell = 'C'.$numrow; $sheet->setCellValue($namecell, $first_name);
    	   $namecell = 'D'.$numrow; $sheet->setCellValue($namecell, $email);
    	   $discount_total = $data['discount_total'];
    	   $namecell = 'F'.$numrow; $sheet->setCellValue($namecell, $discount_total);
    	   $total = $data['total'];
    	   $namecell = 'E'.$numrow; $sheet->setCellValue($namecell, $total);
    	   $status = $data['status'];
    	   $namecell = 'H'.$numrow; $sheet->setCellValue($namecell, $status);
    
    	   /*echo '<br/>ID: '.$orders_arr[$i];
    	   echo '<br/>Email: '.$email;
    	   echo '<br/>Дата: '.$date_created;	
    	   echo '<br/>Имя: '.$first_name;*/
    	   
    	   $order_items = $order->get_items(); // объект 
    	   $nnn = count($order_items);
    	   foreach($order_items as $item_id => $item) {
    		   // ID элемента можно получить из ключа массива или так:
    		   $item_id = $item->get_id();
    	   
    		   // данные элемента заказа в виде массива
    		   $item_data = $item->get_data();
       
    		   $namecell = 'I'.$numrow; $sheet->setCellValue($namecell, $item_data['product_id']);
    		   $namecell = 'J'.$numrow; $sheet->setCellValue($namecell, $item_data['total']);
    		   $namecell = 'G'.$numrow; $sheet->setCellValue($namecell, $nnn);
    		   /* echo '<br/>Название: '.$item_data['name'];
    		   echo '<br/>ID-товара: '.$item_data['product_id'];
    		   echo '<br/>Цена: '.$item_data['total'];	*/
    		   if ($nnn > 1) {$numrow++;}
    	   } 
    	   $numrow++;
    	 }
    	}
       
    	$writer = new Xlsx($spreadsheet);
    	$upload_dir = (object)wp_get_upload_dir();
    	$writer->save( $upload_dir->basedir.'/hello world.xlsx');
    }

    @icopydoc Благодарю. Я не знаю как этот скрипт применить) А попробовал установить плагин который советуете, а он не активируется, пишет WP All Export — WooCommerce Order Export Add-On Plugin: WP All Export must be installed and activated.

    Первый раз за все время такое вижу

    WP All Export — WooCommerce Order Export Add-On Plugin: WP All Export must be installed and activated.

    Ну так установите и активируйте
    https://ru.wordpress.org/plugins/wp-all-export/

Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Тема «Экспорт заказов с сайта в эксель» закрыта для новых ответов.