Загружатель мультимедиа WordPress 3.0 изменяет мое имя файла изображения

У меня возникла проблема с WordPress 3.0

Я предваряю свои файлы изображений символом подчеркивания (_somefile.jpg), чтобы я мог помечать их для конкретных применений и изображений, которые не имеют подчеркивания.

Тем не менее, я только что обнаружил, что загрузчик мультимедиа в WP 3.0 удаляет эти символы подчеркивания из имени файла. Сначала я подумал, что это просто переименование названия WordPress для изображения, но я проверил его на FTP и фактически переименовал сам файл.

Есть ли параметр, который я могу переключить с помощью скрипта, чтобы отключить это редактирование имени файла?

Функция sanitize_file_name() в wp-includes/formatting.php , строка 681:

 $filename = trim($filename, '.-_'); 

Из документации по функциям: «Период обрезки, тире и подчеркивание от начала и конца имени файла».

После этого trim() называется sanitize_file_name . Этот код исправит вашу проблему (непроверенный):

 function preserve_leading_underscore( $filename, $filename_raw ) { if( "_" == substr($filename_raw, 0, 1) ) { $filename = "_" . $filename; } return $filename; } add_filter('sanitize_file_name', 'preserve_leading_underscore', 10, 2); 

вот то же самое в однострочном (TESTED!):

 add_filter('sanitize_file_name',create_function('$f,$fr','return preg_match("`^_`",$fr) ? "_".$f : $f;'),10,2); 

я подтвердил, по крайней мере, что WordPress 3.5.1 лишает ведущие подчеркивания и что добавление этого фильтра сохранило основные подчеркивания.