我一直在尝试使用此包将我的 WooCommerce 产品、订单和客户与 Laravel 同步,旨在确保产品、订单和客户数据的无缝集成。
作曲家需要自动/woocommerce
在检索产品或订单时,该包可以顺利运行。
这是示例代码。
此代码成功检索订单,但它施加了 100 个项目的限制。如果超过 100 个项目,我将无法获取它们。有没有办法克服这个限制?我尝试获取用于分页目的的订单/产品总数,但不幸的是,我什至无法检索总数。
$url = $this->store['store_url'];
$consumer_key = $this->store['consumer_key'];
$consumer_secret= $this->store['consumer_secret'];
$options = [ 'wp_api' => true, 'version' => 'wc/v3' ];
$woocommerce = new Client($url, $consumer_key, $consumer_secret, $options);
$args = [
'per_page' => $per_page,
'page' => $page,
];
$orders = $woocommerce->get('orders', $args);
$all_orders = array_merge($all_orders, $orders);
此代码从 WooCommerce 返回一个空数组。该问题似乎是客户特有的,因为它没有检索任何数据;仅返回一个空数组。
$url = $this->store['store_url'];
$consumer_key = $this->store['consumer_key'];
$consumer_secret= $this->store['consumer_secret'];
$options = [ 'wp_api' => true, 'version' => 'wc/v3' ];
$woocommerce = new Client($url, $consumer_key, $consumer_secret, $options);
$args = [
'per_page' => $per_page,
'page' => $page,
];
$orders = $woocommerce->get('orders', $args);
$all_orders = array_merge($all_orders, $orders);
试试这个代码:
$url = $this->store['store_url'];
$consumer_key = $this->store['consumer_key'];
$consumer_secret = $this->store['consumer_secret'];
$options = ['wp_api' => true, 'version' => 'wc/v3'];
$woocommerce = new Client($url, $consumer_key, $consumer_secret, $options);
$page = 1;
$per_page = 100;
$all_orders = [];
do {
$args = [
'per_page' => $per_page,
'page' => $page,
];
$orders = $woocommerce->get('orders', $args);
$all_orders = array_merge($all_orders, $orders);
$page++;
} while (count($orders) >= $per_page);