Intereting Posts
Как ограничить пользователя публикацией сообщений в день и за роль? Атрибуты страницы WordPress: остановить пользователей, изменяющих родительский элемент по умолчанию Последствия при использовании PHP включают TEMPLATEPATH? Отображение пользовательских полей на родительской странице Использовать миниатюру сообщения в качестве фона div Изображение и лайтбоксы Default Nav Highlight Как использовать функцию add_query_arg в теге шаблона, таком как previous_post_link? Направлять некоторые сообщения только на определенную страницу Как показывать только родительские категории на боковой панели Есть ли (официальный) способ деактивации темы и показать сообщение в админ? Исключить категорию из соответствующей должности Как использовать is_active_widget? Как передать аргументы функции обратного вызова виджета панели управления? textarea_name не работает с wp_editor

Медиа-загрузчик в пользовательском пути

Я создаю генератор CSS в своей теме WordPress, и я хочу также сохранить пользовательские скины с изображениями. Моя проблема заключается в том, что у меня есть иерархия типа / skins / custom-skin / images для загруженных изображений, но, как вы знаете, WordPress Media Uploader помещает их в папку uploads по умолчанию, сортируется по дате.

Мой вопрос: могу ли я указать путь для сохранения изображения каждый раз при загрузке нового изображения?

В,

Dashboard -> Settings -> Media 

Вы можете снять флажок,

Organize my uploads into month- and year-based folders

… и необязательно изменить загрузку путей (но это, конечно же, повлияло бы на все загрузки).

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

 add_filter( 'upload_dir', 'css_upload_dir' ); function css_upload_dir(){ global $post; $post_id = $post->ID; $upload = wp_upload_dir(); if( "post_type" == get_post_type($post_id) ){ $custom_dir = '/skins/custom-skin/images'; $upload['path'] = $upload['basedir'] . $custom_dir; $upload['url'] = $upload['baseurl'] . $custom_dir; return $upload; } } 

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