محمدرضا
1 سال پیش توسط محمدرضا مطرح شد
0 پاسخ

اتصال اتربیوت ها در ووکامرس

سلام من در حال نوشتن پلاگینی برای وردپس-ووکامرس هستم
این کد منه:

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();
}

کد کلی من داره ابتدا اطلاعات یک محصول رو به صورت کلی دریافت می کنه
و بعد این کد داره اطلاعات ویژگی های اون رو می گیره
من نیاز دارم این اتربیوت ها به هم وصل بشن
این عکس مربوط به اجرای دقیق همین کده:
 تصویر

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

ممنون میشم اگه بتونید کمکم کنید تا اتربیوت ها رو بهم وصل کنم.