【发布时间】:2017-08-04 14:10:08
【问题描述】:
我正在我的 WooCommerce 网站上创建一个部分,我的企业客户可以在其中登录并查看他们的哪些员工已下订单。
为了做到这一点,我打算使用 WP_List_Table 来填充一些数据。
但是,由于我们的帖子表和订单库(约 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);
【问题讨论】:
标签: php wordpress foreach woocommerce orders