I have tried so many ways, the most efficient one is the soil_world function of geodata package in R environment. I successfully downloaded all the global data except clay at the 0-5 cm depth, cause the raster pixels were all null values by applying the function, something went wrong but I couldn't figure it out. So I must find another approach to download clay at the 0-5 cm depth.
On https://soilgrids.org/, you can only choose one tile (limited within 2°*2°) each time, and the tutorial of R on the WebDAV (https://www.isric.org/explore/soilgrids/soilgrids-access) didn't work for me. It seems the only way is to download the global vrt file, but I'm not sure how to process a vrt file in R.
Hope there's someone had experience downloading SoilGrids250m globally at one time, I really appreciate your help!