Загрузка файла в удаленное хранилище

Я хочу перезаписать существующие функции загрузки, чтобы сохранить файл в службе удаленного хранения. У удаленного хранилища есть HTTP-интерфейс, который позволяет мне публиковать файл и возвращать адресный URL-адрес обратно. Причиной этого является то, что служба удаленного хранения имеет большой объем пространства и автоматически реплицируется для обеспечения высокой доступности.

Я уже понял, как отправлять файлы. Тем не менее, я не уверен, какой крючок / функция я должен использовать, чтобы перезаписать существующее поведение.

Два варианта:

  1. 'wp_handle_upload' в 'wp_handle_upload' , фильтр, предоставляемый функцией wp_handle_upload() в wp-admin/includes/file.php :

     apply_filters( 'wp_handle_upload', array( 'file' => $new_file, 'url' => $url, 'type' => $type ), 'upload' ) 

    Замените URI нового файла на свой удаленный URI.

  2. Функция wp_insert_attachment() в wp-includes/post.php предлагает два действия:

     do_action('edit_attachment', $post_ID); do_action('add_attachment', $post_ID); 

    Вы можете получить данные вложения $post_ID и изменить любое значение здесь.