محمدرضا
2 ماه پیش توسط محمدرضا مطرح شد
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();
}

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

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

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


ثبت پرسش جدید

به همدیگه کمک کنیم

به محمدرضا کمک کنید تا مشکل خودش را حل کند؛ این‌طور می‌توانیم با هم پیشرفت کنیم.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام