Выложил сюда https://github.com/casepress-studio/API-Add-Image-by-URL-to-WordPress

А оказалось что есть готовый метод http://codex.wordpress.org/Function_Reference/media_sideload_image