上传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
。
请帮忙完成这个。如果任何一个能够解释woocommerce的基本表结构,用于通过sql插入查询,这也是有帮助的。
谢谢.
注意:我们需要创建sql查询。我们不需要创建客户和客户元表条目,因为在此订单中,下此订单的客户是我们默认的公司客户服务帐户。因此不需要考虑客户和客户元表。真实的客户信息被添加到订单元字段中,如_billing_phone、_billing_email、_shipping_address_1等
订单是一个自定义发布,位于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
表中以meta_key
作为_customer_user
检索客户ID。
进行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)
我不确定,但这可能是痛苦的你做一些自定义的插件。
https://wordpress.org/plugins/woocommerce-csvimport/