Как рассортировать uploads по папкам по годам?

В стандартной установке WordPress, все загруженные файлы, такие как изображения, видео, аудио и другие медиа-файлы, хранятся в папке "wp-content/uploads". Однако, иногда возникает необходимость разделить эти файлы по папкам, отражающим их дату загрузки, например, по годам.

Для достижения этой функциональности можно воспользоваться следующими методами:

1. Использование плагина: Для упрощения этой задачи, вы можете установить и использовать один из множества плагинов, которые автоматически рассортируют загруженные файлы по папкам по годам. Ниже приведен список нескольких плагинов, которые могут вам помочь:

- „Media File Manager“
- „FileBird - WordPress Media Library Folders“
- „Enhanced Media Library“

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

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

Вот пример кода, который рассортирует загруженные файлы по папкам по годам:

function custom_upload_directory( $args ) {
    $year = date( 'Y' );
    $args['path']    = str_replace( $args['subdir'], '', $args['path'] ); // удаляем субдиректорию
    $args['url']     = str_replace( $args['subdir'], '', $args['url'] );
    $args['subdir']  = '/' . $year . $args['subdir'];
    $args['path']   .= $args['subdir'];
    $args['url']    .= $args['subdir'];
    return $args;
}

add_filter( 'upload_dir', 'custom_upload_directory' );

Приведенный выше код будет хранить загруженные файлы в папке "uploads/год/месяц". Например, если файл был загружен в декабре 2021 года, он будет сохранен в папке "uploads/2021/12".

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

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