Wordpress: укажите папку загрузки для настраиваемого плагина

Я использую плагины Simple Local Avatars, чтобы пользователи могли добавлять изображение форума в мой Wordpress. Веб-сайт.

Путь загрузки по умолчанию - www.site.com/wp-content/uploads. Тем не менее, поскольку у меня будет 100-1000 пользователей, и поскольку этот плагин создает 5 файлов для каждого аватара, он полностью испортит папку загрузки.

Я бы хотел, чтобы вместо этого изображения были загружены на www.site.com/wp-content/uploads/avatars/.

Кажется, этот плагин проходит через:

$upload_path = wp_upload_dir();

Я попробовал несколько хаков, таких как:

 $upload_path = wp_upload_dir();
 $upload_path['baseurl'] .= '/avatars';
 $upload_path['basedir'] .= '/avatars';

Это вызывает серьезную ошибку, поскольку (я не знаю почему) включает двоичные значения изображения в путь ...

Или это решение:

add_filter('upload_dir', 'my_upload_dir');
$upload = wp_upload_dir();
remove_filter('upload_dir', 'my_upload_dir');

funcion my_upload_dir($upload) {
    $upload['subdir']   = '/sub-dir-to-use' . $upload['subdir'];
    $upload['path']     = $upload['basedir'] . $upload['subdir'];
    $upload['url']      = $upload['baseurl'] . $upload['subdir'];
    return $upload;
}

Что не влияет на фактическую папку загрузки.

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

Любая помощь будет оценена.

Спасибо


person Matthieu    schedule 23.11.2013    source источник


Ответы (1)


Я знаю, что это немного поздно, но вы должны указать абсолютные пути для path и basepath.

person uruk    schedule 29.10.2014