Поддержка WordPress Multisite Мультисайт настройка медиафайлов

  • Есть мультисайт «Настройки медиафайлов», в админке на этой странице отсутствует надпись: Помещать загруженные мной файлы в папки по месяцу и году. Хотел снять здесь галочку, чтоб формировалось в 1 папку. Как поправить ситуацию?

    • Тема изменена 7 мес. назад пользователем  SeVlad. Причина: перенос в подходящий раздел
Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Netword admin > sites > edit > settings

    «Uploads Use Yearmonth Folders» изменить значение с 1 на 0.

    Супер, загружает в 1 папку, уже не по годам и месяцам.
    Нужно заходить в каждый сайт и ставить параметр с 1 на 0.

    А можно ли сделать, чтоб одна папка была для всех сайтов?.

    У вас сейчас скорей всего должно грузить в папку wp-content/uploads все ваши медиафайлы. Без месяца и года. Если есть дополнительные папки (кроме датированных), то они технические, нужны для некоторых плагинов и тем. Их лучше не трогать. В них все равно нет загружаемых файлов.

    Вообще папку(папки) загрузки файлов можно менять как вам хочется, но для этого надо знать немного PHP. https://codex.wordpress.org/Plugin_API/Filter_Reference/upload_dir нужный хук.

    • Ответ изменён 4 мес., 3 нед. назад пользователем  akkoxe.

    В этом и проблема не в одну грузит, у каждого сайта своя папка:
    saqn1.ru/wp-content/uploads/sites/3/
    saqn1.ru/wp-content/uploads/sites/4/
    saqn1.ru/wp-content/uploads/sites/5/
    saqn1.ru/wp-content/uploads/sites/6/
    saqn1.ru/wp-content/uploads/sites/7/

    Подробнее можно про хук, куда его писать в какой файл?

    Модератор SeVlad

    (@sevlad)

    wp.me/3YHjQ

    В этом и проблема не в одну грузит, у каждого сайта своя папка:

    Что от того, что все сайты будут грузить в одну папку один каталог? Только бардак и проблемы чтения файловой системой и ПО (напр фтп-менеджерами). Файлы не будут в общей медиатеке, чего Вам, предполагаю, и хотелось бы.

    Мне так нужно, т.к. я один администратор и другого не будет.

    Модератор SeVlad

    (@sevlad)

    wp.me/3YHjQ

    я один администратор и другого не будет.

    Это вообще не имеет никакого отношения к Вашей хотелке.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Если нужно использовать один и тот же файл на разных сайтах — возможно, будет полезен плагин Network Shared Media.

    Иначе я тоже не вполне понимаю, зачем складывать файлы со всех сайтов в одну папку.

    В этом и проблема не в одну грузит, у каждого сайта своя папка

    Почему в этом проблема?

    Писать в function.php, как писать в function.php и в какой из function.php писать в интернете много инфы. На wp-kama есть что почитать по этому поводу.

    Код примерно такой:

    add_filter( 'upload_dir', 'my_custom_upload_directory' );					
    function my_custom_upload_directory( $directory ) {
      
    $subdirectory = 'название_нужной_папки_на_английском';
    							
    $originaldir = $directory;
    
    	$directory['subdir'] = $subdirectory;
    	$directory['path'] = $originaldir['basedir'] . $subdirectory;
    	$directory['url'] = $originaldir['baseurl'] . $subdirectory;
    	
    return $directory;
    }

    Там где название папки — название папки, в которую будут добавляться все файлы. в начале и в конце не должно быть «/», на сколько я помню (давно писал этот код уже). то есть можно написать «papka/suda/grusit/vottak» и у вас будет полный путь к файлам «wp-conten/uploads/papka/suda/grusit/vottak», если нужно просто в «wp-conten/uploads» — «название_нужной_папки_на_английском» убираем, кавычки '' сохраняем, пробелы не ставим. Если туда будете пихать переменные, меняйте кавычки на понимающие переменные.

    • Ответ изменён 4 мес., 3 нед. назад пользователем  akkoxe.

    Соответственно, если у вас много сайтов, то надо в каждом это писать в их функции. Или же делать «вечный плагин» через mu-plugins (гуглите). У меня второй вариант используется.

    Файлы не будут в общей медиатеке, чего Вам, предполагаю, и хотелось бы.

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

Просмотр 10 ответов — с 1 по 10 (всего 10)