Woocommerce 订单、产品和客户 API Laravel

问题描述 投票:0回答:1

我一直在尝试使用此包将我的 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);

以下是我从 WooCommerce 收到的回复:

php laravel wordpress woocommerce
1个回答
0
投票

试试这个代码:

$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);
© www.soinside.com 2019 - 2024. All rights reserved.