Один путь к медиафайлам для сайтов в режиме Multisite
Установлен режим мультисайт на поддоменах. Для основного сайта site.com загружены изображения в папку site.com/wp-content/uploads. Загрузку в папки по дате отключил в меню.
При импорте статей для поддомена sub.site.com изображения обрабатываются заново и складываются в папку /wp-content/uploads/sites/2
А так как изображения те же, то нет смысла дважды их обрабатывать и удваивать размеры сайта.
Попробовал такое решение. Для поддомена sub.site.com прописываю в настройках по адресу https://site.com/wp-admin/network/site-settings.php?id=2:
Upload Path: /wp-content/uploads
Upload Url Path: https://sub.site.com/wp-content/uploads
При этом во время импорта в папке /wp-content/uploads/sites/2 изображения не появляются, импорт проходит успешно, но на самом sub.site.com изображений нет, поскольку в пути к ним прописано /wp-content/uploads/sites/2 вместо /wp-content/uploads.
Подскажите пожалуйста, возможно ли решить эту проблему? И если да, то как?
Решение
P.S. Вопрос удалять не буду, вдруг кому-то ещё поможет. Для себя нашёл такое решение: симлинк на папку uploads. Если грубо, то симлинк это ярлык в linux. Далее по пунктам что было сделано:
-
В настройках поддомена очищены поля Upload Path и Upload Url Path.
-
В functions.php добавлено:
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; }
-
После выполнения предыдущего пункта, при импорте статей на поддомен, вордпресс отмечал, что медиафайлы для статей уже загружены. Но в самих статьях картинки не отображались, потому что в пути у них оставался sites/2/.
Симлинк создаётся из терминала командой (у меня путь к папкам был примерно такой, поправьте пути перед применением):
ln -s /var/www/user/data/www/site.com/wp-content/uploads /var/www/user/data/www/site.com/wp-content/uploads/sites/2
Если смотреть на фтп, то после выполнения команды в папке sites появляется ярлык папки "2".
После того как создал симлинк, картинки сразу же стали отображаться на поддомене.