woocommerce - wc_create_order 制作重复
问题描述
我正在编写一个批处理来从名为 tbl_bankimport 的 mysql 表中导入一些订单:
$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 条订单。但我最终在 woocommerce 中获得了 94 条记录!
如果我清除订单替换这个:
$order = wc_create_order(array(['customer_id' => $bankrec->user_id]));
和
$order = wc_create_order(array(['customer_id' => 7072]));
然后重新运行,我输入了 47 条记录。
困惑和迷惑!
解决方案
从数据数组中排除 customer_id 并像这样添加它:
update_post_meta($order->id, '_customer_user', bankrecs->user_id);
似乎是一个解决方案。
推荐阅读
- python - 如何在 Cherrypy 中保存文件
- docker - 将文件从 docker 容器保存到主机
- docker - docker-compose 中的 ffmpeg 无法启动
- bash - 数组中带有空格的字符串元素被拆分?
- r - 从 ggplot2 中的图例类别中删除 stat_summary 符号
- java - JNI CPP gradle 未找到 jni.h
- angular - 使用 angular、blob 和 createObjectURL 读取视频
- scala - 带有逗号分隔的其他列的 Spark DataFrame 列,这些列需要使用另一列中给出的值进行更新
- javascript - Puppeteer 和 react-router (BrowserRouter)
- python - GCP Python 在存储桶之间复制大文件