如何从woo-commerce获得所有产品?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从woo-commerce获得所有产品?相关的知识,希望对你有一定的参考价值。

我已经设置了Woo-Commerce,它有1000多种产品。使用Woocommerce rest api php库我试图获得所有产品。

但它给了我10个产品。如果我使用过滤器[限制],它给了我大约400个不超过这个的产品。

$res = $wc_api->get_products(array( 'filter[limit]' => 400 ) );

任何人都可以说我如何从woocommerce获得所有产品?

答案

有关最新版本的WC API,请使用

$products = $client->products->get( '', ['filter[limit]' => -1] );

如果它不起作用,请尝试使用posts_per_page替换限制,如下所示:

'filter[posts_per_page]'=>-1

根据您的服务器规格和产品总数,此类型的查询可能需要大量内存,因此如果您收到任何错误或查询未完成,请确保php.ini中的内存限制足够高。

另一答案

这不是最新的API端点:

/wc-api/v3/products?filter[limit]=

您必须每页获取页面才能获得所有产品:

$page = 1;
$products = [];
$all_products = [];
do{
  try {
    $products = $wc->get('products',array('per_page' => 100, 'page' => $page));
  }catch(HttpClientException $e){
    die("Can't get products: $e");
  }
  $all_products = array_merge($all_products,$products);
  $page++;
} while (count($products) > 0);

Source

以上是关于如何从woo-commerce获得所有产品?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 WordPress Woo-Commerce 插件根据 url 参数显示不同的产品?

Woo-commerce 评论不适用于单个产品页面

我如何从产品 ID 中获取产品的所有详细信息?

如何在自定义插件开发中显示产品过滤器

如何获得所有亚马逊类别的产品

如何保存个人资料图片并在编辑帐户页面woo-commerce中显示