Я нашел возможное решение, которое работает для меня в WP3.7.1 (я не проверял его в более ранних версиях)
Создание фильтра, который переопределяет каталоги загрузки по умолчанию:
add_filter('upload_dir', 'ms_global_upload_dir');
function ms_global_upload_dir($uploads)
{
$ms_dir = '/sites/' . get_current_blog_id();
$uploads['path'] = str_replace($ms_dir, "", $uploads['path']);
$uploads['url'] = str_replace($ms_dir, "", $uploads['url']);
$uploads['basedir'] = str_replace($ms_dir, "", $uploads['basedir']);
$uploads['baseurl'] = str_replace($ms_dir, "", $uploads['baseurl']);
return $uploads;
}
Важное замечание: настройки «Путь к URL для загрузки» должны быть пустыми в настройках сайта или, если вам необходимо настроить их, проверьте результаты, сбросив массив $uploads
для просмотра возможных конфликтов.
Чтобы проверить, поддерживает ли ваша версия WP этот метод, найдите функцию wp_upload_dir()
в файле wp-includes / functions.php и найдите вызов функции: $uploads = apply_filters( 'upload_dir' ...
Если это так, решение, приведенное выше, должно работать.
Надеюсь, это поможет ...
Кроме того, я потратил почти два дня, чтобы найти решение для репликации / удаления загруженных носителей в каждом из блогов с помощью хуков действий «add_attachment» и «delete_attachment» путем создания необходимых записей post и postmeta в соответствующих таблицах базы данных. , При этом вы можете добавлять / удалять мультимедийные файлы в любом из блогов, которые будут видны в / удалены из всех библиотек мультимедиа блогов. Если вам интересно, могу поделиться ...
Приветствия