Intereting Posts
Добавить пользовательское поле для пользователей Подписаться2 с выбором категорий? Пароль защищает любой файл в WordPress Ajax live search, «Не найдено продуктов», когда заголовок содержит апострофы и цитаты Супер WordPress отладки инструментария и процедуры сортировки? WordPress лучшее решение общей темы для потребителей и предприятий (два url один instaltion) Удаление персонализированного типа сообщений из результатов поиска ссылок Название таксономии цикл внутри foreach Пользовательская таксономическая навигация с текущими пунктами меню для детей? Выберите элемент формы, не сохраняющий параметры плагина Как войти в «Удаленный сайт WP» с моего локального скрипта (в том же браузере)? Как получить комментарии всех авторов? Функция, чтобы изменить статус сообщения, если текущий пользователь и автор сообщения одинаковы Я хочу искать в базе данных пользовательского типа после таксономии

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

Я хочу перезаписать существующие функции загрузки, чтобы сохранить файл в службе удаленного хранения. У удаленного хранилища есть 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 и изменить любое значение здесь.