在 WooCommerce 中创建自定义订单表 - 需要很长时间才能遍历订单

林茨达灵顿

我正在创建我的 WooCommerce 网站的一个部分,我的公司客户可以在其中登录并查看他们的哪些员工已下订单。

为了做到这一点,我计划使用WP_List_Table由一些数据填充的a

但是,由于我们的帖子表和我们的订单库(大约 10000 个订单)的大小,我正在努力创建我的数据数组,它需要很长时间才能运行循环。

这是我创建电子邮件地址基本数组的代码 - 但 Wordpress 在 30 秒后抛出一个致命错误。

有没有人知道我如何以更好的方式做到这一点?非常感谢您的想法。

// Set the parameters for a orders

$customer_orders = get_posts( array(
    'numberposts' => -1,
    'post_type'   => 'shop_order',
    'post_status' => array_keys( wc_get_order_statuses() ),
) );


// Pull a list of order IDs

$orderids = [];
foreach ($customer_orders as $customer_order) {
    $orderids[] = $customer_order->ID;
}

// Create a list of orders
$orders = [];
foreach ($orderids as $orderid) {
    $order = wc_get_order($orderid);
    $order_company = $order->get_billing_company();

    if($order_company = 'Corporate Client Name') {
         $orders[] = $order->get_billing_email();
    }
}

print_r($orders);
LoicTheAztec

您最好使用自定义 SQL 查询,直接按“企业客户名称”计费公司名称过滤这将避免处理您的 5000 个订单。这是代码:

// Filtering by a company from the beginning
$order_company = 'Corporate Client Name';

global $wpdb;

$table_postmeta = $wpdb->prefix . "postmeta";

// 1. First SQL query the order IDs related to 'Corporate Client Name'
$results = $wpdb->get_col( "
    SELECT post_id
    FROM $table_postmeta
    WHERE $table_postmeta.meta_key LIKE '_billing_company'
    AND $table_postmeta.meta_value = '$order_company'
" );

// Convert the array of IDs in a coma separated string
$orders_str = implode(',', $results);

// 2. Second SQL query get the emails from order IDs related to 'Corporate Client Name'
$emails = $wpdb->get_col( "
    SELECT meta_value
    FROM $table_postmeta
    WHERE $table_postmeta.meta_key LIKE '_billing_email'
    AND $table_postmeta.post_id IN ($orders_str)
" );


// Testing output
print_r( $emails );

此代码经过测试并有效

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

在WooCommerce中添加带有价格不含税的自定义订单元数据

来自分类Dev

WooCommerce中的自定义订单操作

来自分类Dev

ffmpeg需要很长时间才能从图像创建视频

来自分类Dev

在Woocommerce查看订单页面上显示自定义字段

来自分类Dev

如何添加woocommerce自定义订单状态?

来自分类Dev

WooCommerce订单页面添加客户角色自定义列

来自分类Dev

通过自定义回调函数的Woocommerce订单

来自分类Dev

在WooCommerce订单列表中显示Dokan自定义订单元数据

来自分类Dev

将自定义产品元数据传递到Woocommerce 4中的订单

来自分类Dev

获取用户自定义元数据值并在WooCommerce订单中对其进行更新

来自分类Dev

订单自定义字段未显示在WooCommerce电子邮件通知中

来自分类Dev

在WooCommerce中将自定义结帐字段值添加到客户订单注释中

来自分类Dev

在WooCommerce中为每10个订单设置自定义运输成本

来自分类Dev

WooCommerce订单操作元框下拉列表中缺少自定义操作

来自分类Dev

自定义WooCommerce订单表中的总行

来自分类Dev

如何在WooCommerce简码中定义要在自定义订单接收页面上使用的产品

来自分类Dev

在Woocommerce订单和电子邮件中的订单总数之后添加自定义文本

来自分类Dev

如何在Woocommerce中在自定义订单状态的管理菜单中添加计数?

来自分类Dev

如何在WooCommerce订单中显示产品自定义字段(自定义SKU)

来自分类Dev

仅在WooCommerce Admin单个订单的手动订单中显示产品自定义字段

来自分类Dev

WooCommerce结帐中的自定义AJAX更新外部订单审阅表

来自分类Dev

Wordpress WooCommerce管理自定义订单字段

来自分类Dev

WooCommerce的自定义订单列表页面

来自分类Dev

Woocommerce希望获得下订单的自定义行为

来自分类Dev

Woocommerce 3.0 更新自定义订单查询

来自分类Dev

WooCommerce - 自定义管理订单状态不起作用

来自分类Dev

WooCommerce:如何在订单元数据对象中获取带有自定义 ID 的订单?

来自分类Dev

Woocommerce 新订单自定义主题

来自分类Dev

Woocommerce Gateway 默认订单状态自定义

Related 相关文章

  1. 1

    在WooCommerce中添加带有价格不含税的自定义订单元数据

  2. 2

    WooCommerce中的自定义订单操作

  3. 3

    ffmpeg需要很长时间才能从图像创建视频

  4. 4

    在Woocommerce查看订单页面上显示自定义字段

  5. 5

    如何添加woocommerce自定义订单状态?

  6. 6

    WooCommerce订单页面添加客户角色自定义列

  7. 7

    通过自定义回调函数的Woocommerce订单

  8. 8

    在WooCommerce订单列表中显示Dokan自定义订单元数据

  9. 9

    将自定义产品元数据传递到Woocommerce 4中的订单

  10. 10

    获取用户自定义元数据值并在WooCommerce订单中对其进行更新

  11. 11

    订单自定义字段未显示在WooCommerce电子邮件通知中

  12. 12

    在WooCommerce中将自定义结帐字段值添加到客户订单注释中

  13. 13

    在WooCommerce中为每10个订单设置自定义运输成本

  14. 14

    WooCommerce订单操作元框下拉列表中缺少自定义操作

  15. 15

    自定义WooCommerce订单表中的总行

  16. 16

    如何在WooCommerce简码中定义要在自定义订单接收页面上使用的产品

  17. 17

    在Woocommerce订单和电子邮件中的订单总数之后添加自定义文本

  18. 18

    如何在Woocommerce中在自定义订单状态的管理菜单中添加计数?

  19. 19

    如何在WooCommerce订单中显示产品自定义字段(自定义SKU)

  20. 20

    仅在WooCommerce Admin单个订单的手动订单中显示产品自定义字段

  21. 21

    WooCommerce结帐中的自定义AJAX更新外部订单审阅表

  22. 22

    Wordpress WooCommerce管理自定义订单字段

  23. 23

    WooCommerce的自定义订单列表页面

  24. 24

    Woocommerce希望获得下订单的自定义行为

  25. 25

    Woocommerce 3.0 更新自定义订单查询

  26. 26

    WooCommerce - 自定义管理订单状态不起作用

  27. 27

    WooCommerce:如何在订单元数据对象中获取带有自定义 ID 的订单?

  28. 28

    Woocommerce 新订单自定义主题

  29. 29

    Woocommerce Gateway 默认订单状态自定义

热门标签

归档