2016-12-26 4 views
0

Я хочу вызвать внешний API, когда пользователь загружает мультимедийный файл. Загружаемые СМИ будут отправлены и в API.Где код, который загружает носитель в WordPress

Какой код в WordPress, который я мог бы изменить для этой цели?

+0

вы можете использовать hook и call api при загрузке носителя .... –

ответ

2

При загрузке медиаданных из панели управления администратора WordPress wp_handle_upload вызывается один раз для каждого указанного пользователем файла. wp_handle_upload_prefilter - это админ-фильтр, который вызывается функцией wp_handle_upload. Единственный параметр, $ file, представляет собой один элемент массива $_FILES. wp_handle_upload_prefilter предоставляет вам возможность изучить или изменить имя файла до того, как файл будет перенесен в его окончательное местоположение.

add_filter('wp_handle_upload_prefilter', 'custom_upload_filter'); 

function custom_upload_filter($file){ 
    //call your api here 
    $file['name'] = 'wordpress-is-awesome-' . $file['name']; 
    return $file; 
} 

Используя это, в сочетании с upload_dir, вы можете динамически определить, какой каталог загружать, основываясь на файлах, которые вы загружаете. check link here или stack site

+0

Привет, спасибо за ответ. Но это не сработало, я попытался поместить 'header ('Location: https://google.com');' тоже для тестирования, но он ничего не делает – user

+0

вы можете использовать var_dump ($ file); и поместить код в файл functions.php –

+0

Я попытался добавить это в functions.php 'add_filter ('wp_handle_upload_prefilter', 'custom_upload_filter'); function custom_upload_filter ($ file) { var_dump ($ file); return $ file; } 'но я получил' Ошибка при загрузке. Повторите попытку позже. ' – user

Смежные вопросы