WordPress Multisite: Как сделать все элементы медиатеки доступными для каждого сайта?
У меня есть сеть сайтов WordPress Multisite, где на главном сайте собраны все изображения из медиатеки, которые я хочу использовать на дополнительных сайтах. Однако я не могу понять, как сделать эти изображения видимыми в медиатеках дополнительных сайтов.
Я рассматривал вариант с плагином Network Shared Media, но он не позволяет добавлять изображения туда, где мне нужно - только в контент записей и страниц.

Как упоминалось в комментарии, медиафайлы фактически являются особым типом "записи", поэтому медиафайлы принадлежат только подсайту и не так просто доступны с других подсайтов.
Однако существуют методы для перебора всех подсайтов и отображения медиафайлов со всех подсайтов на одной странице любого подсайта. Я реализовал это в своем плагине Multisite Media Display (https://wordpress.org/plugins/multisite-media-display/), который сначала перечисляет все подсайты в массив, а затем запрашивает каждый подсайт для отображения изображений внутри него. Работа осуществляется через шорткод, который вы добавляете в запись/страницу. Я использую его для мониторинга медиафайлов на всех подсайтах, чтобы убедиться, что они соответствуют стандартам сайта. И если войти как супер-администратор, каждое изображение будет ссылаться на свою страницу редактирования, что позволяет мне при необходимости поворачивать картинки.
Как и все плагины, этот код является "открытым исходным кодом" (и плагин бесплатный/с полным функционалом), поэтому если вы захотите создать собственное решение, вы можете использовать процессы кода, которые я применил (которые я собрал из разных источников, а затем доработал в своем плагине). Я не смог найти плагин, который делал бы то, что мне нужно, поэтому написал его для собственного использования. (А затем создал вариации для отображения записей или комментариев со всех подсайтов через шорткод.)
Плагин имеет опции для указания подсайтов и других параметров, так что вы можете "фильтровать" вывод в соответствии с вашими потребностями.
Вы можете свободно использовать код из этого плагина для создания собственного плагина, который будет делать именно то, что вам нужно.

@Casey, вы уже нашли решение?
Я разработал и поддерживаю плагин, который, если я правильно понял ваш случай, должен отлично решить вашу проблему.
Он копирует загруженные файлы из медиатеки на все сайты сети, используя встроенные функции WordPress, делая их нативными объектами медиа на каждом сайте. При этом на диске хранится только одна копия файла для экономии места.
Также есть возможность реплицировать все существующие изображения по всей сети. Администратор может выбрать, должны ли медиафайлы удаляться по всей сети или отдельно на каждом сайте.
Плагин можно приобрести на CodeCanyon: https://codecanyon.net/item/wordpress-multisite-shared-media/19306250?ref=aikadesign
P.S. Я аффилирован с этим продуктом, что означает, что я получаю вознаграждение, если кто-то его приобретет. Я понял, что разрешено продвигать собственный продукт, если он отвечает на вопрос и если аффилиация четко указана. Думаю, в данном случае условия соблюдены.

Я столкнулся с точно такой же проблемой. Попробуйте это... Добавьте следующее в ваш файл .htaccess в менеджере файлов C-PANEL вашего сайта, где установлена мультисайтовая сеть, заменив другие правила WordPress на:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# загруженные файлы
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
# добавляем завершающий слэш к /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
Вы можете взять этот код прямо из настроек Network Setup.
