prefix . "maanstore_checkout"; $item = $wpdb->get_row("SELECT * FROM $table_name WHERE code = '$code'"); if ($item) { $data = json_decode(urldecode(base64_decode($item->order)), true); } else { return var_dump("Can't not get the order"); } } if ($data != null): global $woocommerce; // Validate the cookie token $userId = validateCookieLogin($data['token']); if (is_wp_error($userId)) { return var_dump($userId); } // Check user and authentication $user = get_userdata($userId); if ($user) { if (!is_user_logged_in()) { wp_set_current_user($userId, $user->user_login); wp_set_auth_cookie($userId); $url = filter_has_var(INPUT_SERVER, 'REQUEST_URI') ? filter_input(INPUT_SERVER, 'REQUEST_URI') : ''; header("Refresh: 0; url=$url"); } } $woocommerce->session->set('refresh_totals', true); $woocommerce->cart->empty_cart(); // Get product info $billing = $data['billing']; $shipping = $data['shipping']; $products = $data['line_items']; foreach ($products as $product) { $productId = absint($product['product_id']); $quantity = $product['quantity']; $variationId = getValue($product['variation_id'], null); // Check the product variation if (!empty($variationId)) { $productVariable = new WC_Product_Variable($productId); $listVariations = $productVariable->get_available_variations(); foreach ($listVariations as $vartiation => $value) { if ($variationId == $value['variation_id']) { $attribute = $value['attributes']; $woocommerce->cart->add_to_cart($productId, $quantity, $variationId, $attribute); } } } else { $woocommerce->cart->add_to_cart($productId, $quantity); } } if (!empty($data['coupon_lines'])) { $coupons = $data['coupon_lines']; foreach ($coupons as $coupon) { $woocommerce->cart->add_discount($coupon['code']); } } $shippingMethod = ''; if (!empty($data['shipping_lines'])) { $shippingLines = $data['shipping_lines']; $shippingMethod = $shippingLines[0]['method_id']; } ?> >
>