我如何才能获得所有WooCommerce API订单

时间:2020-12-04 作者:Gerardo Marroquin

当我和我的邮递员

https://page.com/wp-json/wc/v3/orders

它只返回10个结果,在woocommerce中,我有2000个ordersHow,我能得到那2000个订单吗?

2 个回复
SO网友:Marc

默认情况下,将分页该API端点,并且“每页数量”设置为10。您可以在此处看到该端点的所有默认值https://woocommerce.github.io/woocommerce-rest-api-docs/#list-all-orders

如果此端点的工作方式类似于WP\\u Query,则需要将per\\u page参数设置为-1。否则,您将需要发出多个请求,每次都增加页码,直到收到所有订单为止

SO网友:babita

这肯定会显示所有订单

  enter code here
  const WooCommerceRestApi = require("@woocommerce/woocommerce-rest-api").default;

const api = new WooCommerceRestApi({
  url: process.env.NEXT_PUBLIC_WORDPRESS_SITE_URL,
  consumerKey: process.env.CONSUMER_KEY,
  consumerSecret: process.env.CONSUMER_SECRET,
  version: "wc/v3"
});
export default async function handler(req, res){
  const responseData = {
      success:false,
      orders: []
  }

  const { perPage} = req?.query ?? {};
  try {
      const {data} = await api.get(
          \'orders\',
          {
              per_page:perPage||100


          }
      );
      responseData.success = true;
      responseData.orders = data;
      res.json( responseData);
  } catch ( error ){
      responseData.error = error.message;
      res.status(500).json(responseData);
  }
}


相关推荐

如何使用自定义元数据和/或电子邮件通过REST API检索用户

我已经成功地为用户添加了一个自定义元键/值,并设法在rest API中显示它,但我不确定如何基于此键检索用户。例如$fields = [\'trdr\']; foreach($fields as $field){ register_rest_field(\'user\', $field, [ \'get_callback\' => function($user, $field_name, $request) use ($field){