将订单分配给现有客户(在WooCommerce中)

时间:2016-12-24 07:29:44

标签: woocommerce

我需要将一些订单分配给另一位客户用户。

有没有办法在phpmyadmin中批量处理?

订单号范围:23000:24000。

目标客户用户ID = 89

1 个答案:

答案 0 :(得分:3)

  

- 已更新2 - (更正了代码中的一些拼写错误)

这是一个 PHP自定义函数,可以完成工作,使用for循环迭代您的订单号范围。它还会使用get_post_meta()update_post_meta()函数检查订单中的 '_customer_user' met_key并更新该客户ID值。

  

在运行此功能之前,您将进行数据库备份。

所以这是这个函数的代码:

function cristmas_bulk_editing_orders( ){

    if(!is_admin()) return; // Will work only from Admin Backed.
    else {

        $new_costumer_id = 89;

        // Iterating with a for loop through a range of numbers
        for( $order_id = 23000; $order_id <= 24000; $order_id++ ){

            // Getting the postmeta customer ID for 'order' post-type
            $costumer_id = get_post_meta( $order_id, '_customer_user', true );

            // If it's an existing order and doesn't have already this user ID
            // It update the customer ID
            if( !empty($costumer_id) && $new_costumer_id != $costumer_id )
                update_post_meta( $order_id, '_customer_user', $new_costumer_id );
        }
    }

}

cristmas_bulk_editing_orders();

代码进入活动子主题的function.php文件(活动主题或任何插件文件)。

  

您只需使用此功能一次,然后将其删除 (见下文)。

<强> USAGE:

  

将此代码粘贴并保存在 function.php 文件中后,在浏览器中显示或重新加载任何管理页面。

现在你可以用这种方式评论这个功能并保存:

// cristmas_bulk_editing_orders();

检查订单是否已根据需要更改,并删除所有此代码

代码经过测试并有效。