通过上传Excel文件创建woocommerce订单
我们的客户有一些订单是直接打电话给我们订购的。因此,我们将其详细信息保存在excel文件中,包括每个细节(客户名称地址等,产品名称,产品ID,变体ID,折扣,优惠券详细信息等)。
我们知道如何通过php
代码通过Excel将数据上传到数据库。
示例
<form name="import" method="post" enctype="multipart/form-data">
<input type="file" name="file" /><br />
<input type="submit" name="submit" value="Submit" />
</form>
if(isset($_POST["submit"]))
{
$file = $_FILES['file']['tmp_name'];
$handle = fopen($file, "r");
$c = 0;
while(($filesop = fgetcsv($handle, 1000, ",")) !== false)
{
$name = $filesop[0];
$email = $filesop[1];
$sql = mysql_query("INSERT INTO order (name, email) VALUES ('$name','$email')");
}
if($sql){
echo "Correctly uploaded";
}else{
echo "it's not working";
}
}
我们知道如何获取产品的每一个细节。
但请帮助与woocommerce整合。由于我们注意到每个订单都保存在wp_posts
,post_type='shop_order'
和订单状态为shop_order_status
的分类,因此订单的客户详细信息将另存为post_meta
字段和我们知道如何使用woocommerce中的每个类来检索数据,例如WC_Order
,WC_Order_Item_Meta
。
请帮助完成此操作。如果任何人都可以解释通过sql插入查询的woocommerce的基本表结构,它也是有帮助的。
谢谢。
注意:我们需要创建sql查询。我们不需要创造 客户和客户元表条目,因为按此顺序 下订单的客户是我们的默认公司客户服务 帐户。因此无需考虑客户和客户元表。 真实的客户信息被添加到订单元字段中 _billing_phone,_billing_email,_shipping_address_1等
答案 0 :(得分:3)
订单是自定义帖子,位于wp_posts
表的第一个,'post_type'
表示'shop_order'
。
对于每个post_id
(在wp_posts
表ID中),您可以在wp_postmeta
表中检索所有订单详细信息。
此订单还与wp_woocommerce_order_items
和wp_woocommerce_order_itemmeta
有关系,其中包含与已购买产品,数量,金额,增值税相关的其他详细信息......
此订单还与wp_users
(作为'customer'
)和wp_usermeta
表相关。您可以在wp_postmeta
表中检索客户ID,meta_key
为_customer_user
。
使sql查询变得复杂,因为首先需要创建用户(wp_users和wp_usermeta表)。
然后是一个复杂的查询,同时填充4个与订单相关的表。
- (更新) - 检索订单数据
表格wp_posts:
SELECT * FROM 'wp_posts' WHERE 'post_type' LIKE 'shop_order'
表wp_postmeta:
SELECT * FROM 'wp_postmeta' WHERE 'post_id' = xxxx
(xxxx是您可以在wp_posts表中找到的订单的ID)
表格wp_woocommerce_order_items:
SELECT * FROM 'wp_woocommerce_order_items' WHERE 'order_id' = xxxx
(xxxx是您可以在wp_posts表中找到的订单的ID)
表格wp_woocommerce_order_itemmeta:
SELECT * FROM 'wp_woocommerce_order_itemmeta' WHERE 'order_item_id' = yyyy
(yyyy是你可以在wp_woocommerce_order_items找到的order_id的order_item_id)
答案 1 :(得分:0)
我不确定但是通过在插件中进行一些自定义可能会对您有所帮助。
https://wordpress.org/plugins/woocommerce-csvimport/