۵۰٪ تخفیف فقط تا پایان جشنواره؛ بعدش همه‌چیز به قیمت قبل برمی‌گرده!

مشاهده دوره‌ها
ثانیه
دقیقه
ساعت
روز
راکت

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

بدون پاسخ

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

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

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

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

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

محمدرضا
محمدرضا
@M1R3A86
ثبت پرسش جدید

پاسخ‌ها

0

هنوز پاسخی ثبت نشده

اولین نفری باشید که به این پرسش کمک می‌کند و مسیر حل مشکل را باز می‌کند.

اولین پاسخ را بنویسید

شاید پاسخ شما همین‌جا باشد

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

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