Примеры Delphi и C# из жизни

Примеры программирования на языках Delphi, C#

 




Изменение пути для загрузки медиафайлов | Wordpress

Для расширения и упорядочивания размещения медиафайлов (в нашем случае — картинки) необходимо добавить обработчик фильтра "upload_dir".

Фильтр позволяет вмешаться в автоматически сформированную структуру пути для загрузки и изменить ее по своему усмотрению.

Можно это дело оформить плагином, а можно использовать такую возможность в файле functions.php нашей/вашей темы.


< ? php

add_filter('upload_dir', 'my_upload_dir'); // добавляем обработчик фильтра. Приоритет и количество передаваемых параметров — по умолчанию.

    function my_upload_dir($path) {
        if (is_user_logged_in()) {
          // в моем случае было нужно сохранять файлы в подкаталог с именем текущего залогинившенгося пользовтеля
          $user = wp_get_current_user(); // получаем данные пользователя
        
        $the_path = WP_CONTENT_DIR . '/uploads'; // определяем пути загрузки
        $the_url = WP_CONTENT_URL . '/uploads';

        $path['path'] = $the_path.'/'.$user->user_login; // добавляем к путям загрузки имя пользователя
        $path['url'] = $the_url.'/'.$user->user_login;
        $path['basedir'] = $path['path']; // эти значения также нужно установить, из них формируется имя фала
        $path['baseurl'] = $path['url'];
        $path['subdir'] = ''; // подкаталог в нашем каталоге загрузки. 
// Устанавливается вордпрессом, если отмечено "Помещать загруженные мной файлы в папки по месяцу и году" в настройках.
        $path['error'] = false; // нет ошибок. Или можно установить значение, если в предыдущих шагах что-то пошло не так.
        return $path; // возвращаем новые пути
        // Кстати, проверка доступности создания каталога проводится вордпрессом ПОСЛЕ обработки установленных фильтров.
    }
    }  
? >