سلام من در حال نوشتن پلاگینی برای وردپس-ووکامرس هستم
این کد منه:
foreach ($product_data['variations'] as $variation_id) {
$api_url = 'https://example.com/wp-json/wc/v3/products/' . $product_data['id'] . '/variations/' . $variation_id;
$response = wp_remote_get($api_url, array(
'headers' => array(
'Authorization' => 'Basic ' . base64_encode($consumer_key . ':' . $consumer_secret)
)
));
$variation_data = json_decode(wp_remote_retrieve_body($response), true);
if (isset($variation_data['regular_price']) && is_numeric($variation_data['regular_price'])) {
$price = floatval($variation_data['regular_price']);
} else {
$price = 0;
}
$variation = new WC_Product_Variation();
$variation->set_parent_id($variable_product_id);
$variation->set_regular_price($price);
if (isset($variation_data['attributes']) && is_array($variation_data['attributes'])) {
$clean_attributes = array();
foreach ($variation_data['attributes'] as $attribute_key => $attribute_value) {
if (is_array($attribute_value)) {
$clean_attributes[$attribute_key] = implode(', ', $attribute_value);
} else {
$clean_attributes[$attribute_key] = $attribute_value;
}
}
$variation->set_attributes($clean_attributes);
}
if (isset($variation_data['image_id'])) {
$variation->set_image_id($variation_data['image_id']);
}
if (isset($variation_data['stock_quantity']) && is_numeric($variation_data['stock_quantity'])) {
$variation->set_stock_status($variation_data['stock_quantity'] > 0 ? "instock" : "outofstock");
$variation->set_stock_quantity(intval($variation_data['stock_quantity']));
} else {
$variation->set_stock_status("outofstock");
$variation->set_stock_quantity(0);
}
$variation->save();
}
کد کلی من داره ابتدا اطلاعات یک محصول رو به صورت کلی دریافت می کنه
و بعد این کد داره اطلاعات ویژگی های اون رو می گیره
من نیاز دارم این اتربیوت ها به هم وصل بشن
این عکس مربوط به اجرای دقیق همین کده:

اتفاقی که نیاز دارم انجام بشه:

ممنون میشم اگه بتونید کمکم کنید تا اتربیوت ها رو بهم وصل کنم.
اولین نفری باشید که به این پرسش کمک میکند و مسیر حل مشکل را باز میکند.
اولین پاسخ را بنویسیدشاید پاسخ شما همینجا باشد