Увеличьте per_page, чтобы получить все заказы из woocommerce rest API - PullRequest
0 голосов
/ 16 апреля 2019

Я знаю о последствиях, но мы хотели бы получить все заказы из оставшегося API woocommerce.У нас более 2000. Я пробовал следующее, но ни одна из них не работает:

add_filter( 'rest_shop_order_collection_params', function ( $params, WP_Post_Type $post_type ) {
  if ( 'shop_order' === $post_type->name && isset( $params['per_page'] ) ) {
    $params['per_page']['maximum'] = 200;
  }

  return $params;
}, 10, 2 );


add_action( 'rest_shop_order_query', 'shop_order_override_per_page' );
/* 
 * params is the query array passed to WP_Query
*/
function shop_order_override_per_page( $params ) {
  if ( isset( $params ) AND isset( $params[ 'posts_per_page' ] ) ) {
    $params[ 'posts_per_page' ] = 200;
    $params[ 'per_page' ] = 200;
  }
  return $params;
}

Все вышеперечисленное выдает следующую ошибку:

{
    "code": "rest_invalid_param",
    "message": "Invalid parameter(s): per_page",
    "data": {
        "status": 400,
        "params": {
            "per_page": "per_page must be between 1 (inclusive) and 100 (inclusive)"
        }
    }
}
...