Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 如何从吴商行获得所有产品?_Wordpress_Rest_Woocommerce_Product_Woocommerce Rest Api - Fatal编程技术网

Wordpress 如何从吴商行获得所有产品?

Wordpress 如何从吴商行获得所有产品?,wordpress,rest,woocommerce,product,woocommerce-rest-api,Wordpress,Rest,Woocommerce,Product,Woocommerce Rest Api,我已经建立了Woo Commerce,拥有1000多种产品。使用Woocommerce rest api php库,我正在尝试获取所有产品 但它给了我10种产品。如果我使用filter[limit],它会提供大约400种产品,但不超过这个数量 $res = $wc_api->get_products(array( 'filter[limit]' => 400 ) ); 有人能告诉我如何从woocommerce获得所有产品吗?有关WC API的最新版本,请使用 $products =

我已经建立了Woo Commerce,拥有1000多种产品。使用Woocommerce rest api php库,我正在尝试获取所有产品

但它给了我10种产品。如果我使用filter[limit],它会提供大约400种产品,但不超过这个数量

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

有人能告诉我如何从woocommerce获得所有产品吗?

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

$products = $client->products->get( '', ['filter[limit]' => -1] );
如果不起作用,请尝试用每页帖子替换限制,如下所示:

'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);

http://localhost:8888/wp-json/wc/store/products


请为列表产品尝试此端点。您也可以获取类别和价格。

我刚刚尝试了这个,但遇到了一个错误“返回的JSON无效。************/wc api/v2/products?filter%5Blimit%5D=-1&oauth_consumer_key=\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;但它会给出错误消息“无效的nonce-nonce已被使用”。您可以改为尝试:$this->client->products->get(null,array('filter[limit]'=>-1));