Alexander Mylnikov

13Apr/111

Загрузка файлов с русскими именами на WordPress

Проблема стара как мир. Как только ты пытаешься загрузить на сайт файл с русским именем, так сразу ничего не работает. проблема лечится.

необходимо установить плагин rustolat и в файле \wp-includes\functions.php заменить одну строчку

function wp_unique_filename( $dir, $filename, $unique_filename_callback = null ) {
// sanitize the file name before we begin processing
$filename = sanitize_file_name($filename);

на другую

function wp_unique_filename( $dir, $filename, $unique_filename_callback = null ) {
// sanitize the file name before we begin processing
$filename = sanitize_title_with_translit($filename);

точнее заменить надо всего лишь название функции sanitize_file_name на sanitize_title_with_translit и все будет.

PS: кому не нравится хак, тот можешь переименовывать свои русские файлы в транслит имена. удачи))

Comments (1) Trackbacks (0)
  1. Спасибо автору. Очень хороший совет. Однако столкнулась с другой проблемой. Если файл с руским названием состоит из нескольких слов и пробелов, то ссылка на скачивание получается без пробелов в итоге файл не скачивается. Если вдруг интересно нашла решение вот такой вот плагин http://wordpress.org/extend/plugins/filenames-to-latin/
    Решает ту же самую проблему плюс не удаляет пробелы а как и положено заменяет их на дефисы.
    После активации сразу работает. Только не забудьте поменять обратно как было в файле functions.php а то после деактивации плагина rusToLat отказывается загружать файлы. Надеюсь кому-то это будет полезно )


Leave a comment

No trackbacks yet.