Как создать общую медиатеку в сети сайтов
Время от времени я получаю вопросы о моем плагине Simple Multisite Crossposting, работает ли он с плагинами общих медиатек или нет (да — работает).
И когда я решил протестировать его, то выяснил, что существует множество плагинов с общими медиатеками, и каждый из них работает немного по-разному.
Основная идея большинства этих плагинов — хранить все медиа на одном «главном» блоге, и не обязательно это должен быть блог с ID = 1
. Затем некоторые из них используют функцию switch_to_blog()
каждый раз, когда вы работаете с вложениями на подсайтах, другие даже создают вложения в базе данных, связанные с оригинальными файлами на всех подсайтах (я предполагаю, что это может привести к проблемам).
Больше всего мне нравится подход switch_to_blog()
, потому что он не причиняет вреда, вы даже можете прекратить использование общей медиатеки в любое время, просто деактивируйте плагин и продолжайте использовать свои сайты как обычно.
Теперь давайте погрузимся в код.