Я новичок в API REST,
У меня есть страница php, где мне нужно заполнить все продукты и варианты. поэтому я использую curl
https://my_ip/index.php/wp-json/wc/v2/products
, затем я зацикливаю его и передаю идентификатор продукта, чтобы получить варианты, поэтому внутри цикла я использую https://my_ip/index.php/wp-json/wc/v2/products/$variable_product_id/variations/
, но это требует больше времени, поскольку у каждого продукта больше вариантов, поэтому есть ли способ получить все продукты и вариации в одном запросе?
как: есть ли какие-либо настройки в class-wc-rest-products-controller.php
или в любом запросе или в любом месте в woocommerce? чтобы я мог получить результат.
mycode:
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://my_ip/index.php/wp-json/wc/v2/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_SSL_VERIFYPEER=> false,
CURLOPT_HTTPHEADER => array(
"Authorization: Basic *****************",
"Cache-Control: no-cache"
),
));
$response = curl_exec( $curl) ;
curl_close( $curl );
$Product = json_decode( $response );
//after getting all product. looping all to get variations price.
foreach ( $Product as $row ){
$product_id= $row->id;
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://my_ip/index.php/wp-json/wc/v2/products/".$product_id."/variations/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_SSL_VERIFYPEER=> false,
CURLOPT_HTTPHEADER => array(
"Authorization: Basic **************",
"Cache-Control: no-cache"
),
));
$response1 = curl_exec( $curl );
curl_close( $curl );
}
$variations=json_decode( $response1 );
print_r( $variations->price );
// here getting variation of particular product
поэтому, когда мы звоним https://my-ip/index.php/wp-json/wc/v2/products/423
, мы получаем весь продукт, и только variations id
принадлежит ему как
"variations": [
603,
604,
605,
606
],
но мне нужны детали (цена) каждого варианта
{
"id": 603,
"date_created": "2018-06-18T12:45:58",
"date_created_gmt": "2018-06-18T12:45:58",
"date_modified": "2018-06-29T06:41:21",
"date_modified_gmt": "2018-06-29T06:41:21",
"description": "",
"sku": "",
"price": "550",
"regular_price": "550",
}
примечание: я создаю отдельную страницу test.php в / var / www / html /. эта страница отсутствует внутри wp-контента