WordPress — перемещать загруженные файлы в папки по дню месяцу и году

По умолчанию WordPress умеет перемещать загруженные файлы в подкаталоги с разбивкой по годам:

45545

 

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

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

add_filter('upload_dir',
    function ($var) {
        $day_slug = '/' . date('j');
        $var['path'] = $var['path'] . $day_slug;
        $var['url'] = $var['url'] . $day_slug;
        $var['subdir'] = $var['subdir'] . $day_slug;
        return $var;
    }
    , 10
    , 1
);

этот сниппет можно поместить в произвольный php файлик и залить в /wp-content/mu-plugins, либо употребить его по своему усмотрению в любом другом месте, так же следует заметить что используемая в этом кусочке кода анонимная функция вызовет ошибку в php ниже 5.3, если у вас на хостинге бежит php 5.2 то приведите сами к применимому виду, пусть это будет мини домашним заданием.

Так же понятно что картинки загруженные до применения данного кода не изменят свой url равно как после отключения кода файлы не переместятся из подкаталогов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *