Необходимо изменить стандартный путь для загрузки файлов в WordPress. (По умолчанию файлы сохраняются в папке: wp-content/uploads).

Раньше можно было просто указать нужный адрес во вкладке настроек (Загрузка файлов > Сохранять файлы в этой папке ). Начиная с версии 3.5 эту возможность убрали.

Самый простой способ, это добавить в файл wp-config.php следующие строчки:

/** Папка для загрузки файлов */
define('UPLOADS', 'wp-content/uploads/file');

Или даже так:

/** Папка для загрузки файлов */
define('UPLOADS', 'files');

Тогда путь к файлам станет: http://вашсайт.ru/files/

Папка указывается относительно корня WordPress. Если указать files, WordPress будет использовать папку files в корне сайта.

При этом сама папка должна существовать и быть доступна для записи.

Как убрать год и месяц из адреса?

Если необходимо только убрать год и месяц из адресов загружаемых файлов, менять папку вообще не нужно.

Переходим в раздел Параметры > Медиафайлы и снимаем галочку у «Помещать загруженные мной файлы в папки по месяцу и году».

как изменить директорию для загрузки файлов

Это самый простой способ изменить директорию у загружаемых файлов.

Еще один способ

Этот способ отличается тем, что позволяет изменить папку только для текущей загрузки. К примеру, на сайте мы загружаем файлы программ и скриншоты к ним. Пусть файлы программ хранятся в папке /wp-content/uploads/file/ в корне сайта, а картинки пусть грузятся по-умолчанию.

Для этого можно использовать фильтр upload_dir:

add_filter('upload_dir', 'wpshop_upload_dir');

function wpshop_upload_dir($upload) {
    $time = current_time( 'mysql' );
    $day = substr( $time, 8, 2 );
    $upload['subdir'] .= "/file";
    $upload['path'] .= "/file";
    $upload['url'] .= "/file";
    return $upload;
}

В данном случае к стандартной директории загрузки добавляется папка file.
Например, обычный файл:

/wp-content/uploads/2026/09/image.jpg

будет загружен в:

/wp-content/uploads/2026/09/file/image.jpg

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

Что делать с уже загруженными файлами?

Важно понимать, что изменение настроек загрузки не переносит старые файлы автоматически.

Если файлы уже находятся в:

/wp-content/uploads/

а после изменения настроек новые файлы начали загружаться в:

/wp-content/uploads/file/

старые файлы никуда не переместятся.

Если просто перенести старые файлы через файловый менеджер или FTP, WordPress продолжит хранить в базе данных старые адреса. Поэтому изображения могут перестать отображаться на сайте.

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

Возможные проблемы

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

Также проблемы могут возникнуть, если указанная папка не существует или у WordPress нет прав на запись в неё.

Если после изменения пути изображения перестали загружаться, первым делом стоит проверить:

  • существует ли указанная папка;
  • есть ли у неё права на запись;
  • правильно ли указан путь в wp-config.php;
  • не изменился ли URL, по которому WordPress должен отдавать файлы.

И еще один важный момент: не стоит менять путь к загрузкам без необходимости на уже работающем сайте. Если сайт давно существует и в нём уже загружено большое количество изображений, изменение структуры папок может потребовать дополнительной работы с файлами и базой данных.

Если задача заключается только в том, чтобы сделать адреса файлов короче и убрать из них год и месяц, достаточно отключить разбиение загрузок по дате в разделе Параметры > Медиафайлы.