wc_create_order делает дубликаты - PullRequest
0 голосов
/ 14 января 2019

Я пишу пакетный процесс для импорта некоторых заказов из таблицы mysql с именем tbl_bankimport:

$bankrecs = $wpdb->get_results("Select * from tbl_bankimport");

foreach ($bankrecs as $bankrec) {
   $order = wc_create_order(array(['customer_id' => $bankrec->user_id]));
   echo "Order " . $order->id . "created </br>";
}

В моем тестовом файле у меня 47 записей, и когда я запускаю это, я получаю 47-й ордер #, отображаемый на экране. Но я получаю 94 записи в woocommerce!

Если я уберу заказы, замените это:

$order = wc_create_order(array(['customer_id' => $bankrec->user_id]));

с

$order = wc_create_order(array(['customer_id' => 7072]));

и затем повторно я получаю 47 записей.

Ошеломлен и озадачен!

1 Ответ

0 голосов
/ 14 января 2019

Исключение customer_id из массива данных и добавление его следующим образом:

update_post_meta ($ order-> id, '_customer_user', bankrecs-> user_id);

кажется решением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...