Как поменять название (имя) загружаемого файла?
Файлы (в том числе картинки) на сайте загружаются из фронта, пользователями. Нужно для них сделать так, чтобы файлы которые они заливают на сайт в медиатеку WordPress переименовывались.
Нужно в в новое название файла добавить префикс домена сайта и изменить само название, например, загрузилось изображение /some-image.jpg, а надо чтобы это название превратилось в /myexample.com-{hash}.jpg.
Загружаю файлы в медиатеку с помощью функций: media_sideload_image() и media_handle_sideload().
Помогите найти подходящий фильтр для такого переименования загружаемых файлов, не хочется вставлять кучу кода и костыли со всякими rename() во временной папке сервера.
Цепляйся на хук wp_unique_filename и возвращай нужное тебе имя:
// меняем загружаемый файл: example.com-{hash}.jpg add_filter( 'wp_unique_filename', 'hash_filename_add_domain', 10, 2 ); function hash_filename_add_domain( $filename, $ext ){ return 'example.com-'. md5($filename) . $ext; }ВАЖНО: этот хук нужно включать только для загружаемых с фронта картинок, т.е. обращай внимание где его включаешь, не кидай в functions.php. Ставь его прямо перед использованием media_sideload_image() и других подобных функций. Если после этих функций есть еще какой-то рабочий код, который может работать с загрузкой картинок, то нужно удалить этот хук после этих функций.