如何使用他们的REST API在WooCommerce中一起获取所有订单

时间:2017-05-24 08:53:44

标签: php wordpress rest woocommerce

我正在使用WooCommerce REST API PHP Client Library来管理外部订单系统。我使用的代码如下:

<?php

require_once( 'lib/woocommerce-api.php' );

$options = array(
    'debug'           => true,
    'return_as_array' => false,
    'validate_url'    => false,
    'timeout'         => 30,
    'ssl_verify'      => false,
);

try {

    $client = new WC_API_Client( 'https://your-store-url.com', 'ck_enter_your_consumer_key', 'cs_enter_your_consumer_secret', $options );

    $data = $client->orders->get();

?>

此代码仅返回10个订单,但我需要将所有记录放在一起,因为我想在数据表中显示它。我已经搜索并从here

获得了一个解决方案

$client->get_orders( array( 'filter[limit]' => 50 ) );

但它产生了以下错误

Call to undefined method WC_API_Client::get_orders()

为什么get_orders()未定义? get_orders()orders->get()之间有什么区别?

1 个答案:

答案 0 :(得分:0)

我猜测默认情况下订单分为10个项目,请尝试:

// @param null|int $id order ID or null to get all orders
// @param array $args acceptable order endpoint args, like `status`
$client->orders->get( null, [ 'per_page' => 100 ] );

WC_API_Client没有get_orders()方法,但$client->orders会使用相应的WC_API_Client_Resource_Orders方法返回get()个实例。

http://woocommerce.github.io/woocommerce-rest-api-docs/?php#parameters