提问者:小点点

woocommerce中从excel文件导入订单


上传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_orderwc_order_item_meta

请帮忙完成这个。如果任何一个能够解释woocommerce的基本表结构,用于通过sql插入查询,这也是有帮助的。

谢谢.

注意:我们需要创建sql查询。我们不需要创建客户和客户元表条目,因为在此订单中,下此订单的客户是我们默认的公司客户服务帐户。因此不需要考虑客户和客户元表。真实的客户信息被添加到订单元字段中,如_billing_phone、_billing_email、_shipping_address_1等


共2个答案

匿名用户

订单是一个自定义发布,位于wp_posts表的第一个位置,该表具有'post_type'类似于'shop_order'

对于每个post_id(在wp_posts表ID中),您可以在wp_postmeta表中检索所有订单详细信息。
此订单还与wp_woocommerce_order_itemswp_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/