Woocommerce заказы на экспорт CSVPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Woocommerce заказы на экспорт CSV

Сообщение Anonymous »

Я пытаюсь добавить все новые заказы Woocommerce в CSV под названием orders.csv. Все отлично работает, но не может получить каждый заказ, чтобы быть на новой линии. Он сливается с заголовком, то есть Products12345. Есть идеи, почему это может произойти? Я пытался использовать /n и php_eol. < /P>
add_action('woocommerce_checkout_order_processed', 'ppd_append_order_to_csv_full', 10, 1);

function ppd_append_order_to_csv_full($order_id) {
if (!$order_id) return;

$order = wc_get_order($order_id);
if (!$order) return;

$folder_path = ABSPATH . 'ppd/';
$csv_path = $folder_path . 'orders.csv';

if (!file_exists($folder_path)) {
mkdir($folder_path, 0755, true);
}

$need_headers = !file_exists($csv_path) || filesize($csv_path) === 0;

if ($need_headers) {
$file = fopen($csv_path, 'wb');
fwrite($file, "\xEF\xBB\xBF"); // UTF-8 BOM for Excel

fputcsv($file, [
'Order ID',
'Shipping Method',
'Products'
]);

fwrite($file, PHP_EOL);
} else {
$file = fopen($csv_path, 'ab');
}

// Products
$items = [];
foreach ($order->get_items('line_item') as $item_id => $item) {
$product = $item->get_product();
$name = $item->get_name();
$sku = $product ? $product->get_sku() : '';
$qty = $item->get_quantity();
$unit_price = $qty > 0 ? number_format($item->get_total() / $qty, 2, '.', '') : '0.00';
$items[] = "{$name} (SKU: {$sku}) x {$qty} - £{$unit_price}";
}

$shipping_method_names = [];
foreach ($order->get_shipping_methods() as $shipping_item) {
$shipping_method_names[] = $shipping_item->get_method_title();
}

$formatted_phone = $order->get_billing_phone() ? "'" . $order->get_billing_phone() : '';

// Row data
$data = [
$order->get_id(),
implode(' | ', $shipping_method_names),
implode(' | ', $items) //

Подробнее здесь: https://stackoverflow.com/questions/796 ... csv-export
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»