WordPress 3.0 Media Uploader меняет имя файла моего изображения - PullRequest
0 голосов
/ 26 июня 2010

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

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

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

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

Ответы [ 2 ]

1 голос
/ 05 марта 2013

в однострочнике то же самое (ИСПЫТАНО!):

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

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

1 голос
/ 26 июня 2010

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