Тут, если вы реализуете мультисайтовость на уже существующем сайте, обычно рекомендуется сделать полную резервную копию — понятное дело, что это не обязательно, однако поможет вам избежать возникновения проблем.
Также на первом шаге я предлагаю вам решить, хотите ли вы использовать поддиректории или поддомены (прилинковка целых доменов тоже возможна, но считается следующем этапом, когда сеть уже установлена).
mod_rewrite
(если на сайте вы уже используете постоянные (или как их ещё называют — красивые) URL, то значит, что всё окей.*.вашдомен.ru
.Также будет не лишним упомянуть, что WordPress уже должен быть установлен.
Откройте конфигурационный файл WordPress wp-config.php
, который лежит в корне вашего сайта или на одну директорию выше (для этого может понадобиться подключиться по FTP) и найдите следующую строку:
require_once( ABSPATH . 'wp-settings.php' );
В любом месте до этой строки вставьте следующую директиву, которая включает возможность установки режима Multisite:
/* Включение режима WordPress Мультисайт */ define( 'WP_ALLOW_MULTISITE', true );
Заходим в Плагины и деактивируем (но не удаляем) их все.
Если вдруг вы пропустите этот шаг, то в следующем шаге вас всё равно попросят это сделать.
После сохранения файла переходим в админку сайта и видим новый пункт в меню Инструменты > Установка сети.
После того, как нажимаем кнопку «Установить», попадаем на страницу с пошаговой инструкцией установки:
Обратите, что если вы выбрали в качестве опции «Поддомены», то возможно, что в следующем шаге вы столкнётесь с ошибкой «Возможно, маска DNS настроена неправильно!», там также будут и инструкции, как её настроить. Если не сможете разобраться сами, то думаю можно написать в супорт хостинга и они вам всё сделают (по крайней мере мне на beget сделали).
Выполняем указанные инструкции и после того, как вы сохранили изменения в файлах, на этом же экране кликаем внизу на ссылку «Войти». Авторизуемся, и в результате у нас в левом верхнем углу появляется выпадающее меню Мои сайты.
И для того, чтобы вы стали настоящим мастером по мультисайтовости, я залезу под капот (но не слишком глубоко) и покажу вам, чем отличается мультисайт от обычной установки WordPress.
Вот так выглядит консоль управления сетью и доступ к ней имеется только у суперадминистраторов (это же вы!).
Как видите, всё очень похоже на стандартную консоль WordPress, нет только пунктов управления контентом, зато появился пункт меню «Сайты».
Также некоторые плагины будут добавлять свои настройки именно сюда, но большинство — непосредственно в админки подсайтов сети.
И, как я уже говорил, про администрирования я напишу отдельный пост на следующей неделе.
Что касается файлов, то если не считать изменений, которые мы вносили в wp-config.php
и в .htaccess
(для поддиректорий), остаётся только одно отличие — папка загрузок сайта (обычно wp-content/uploads
).
Сама папка загрузок используется как есть только для первого созданного сайта сети (основного, с ID 1), затем же в ней создаётся подпапка sites
, а в ней в свою очередь ещё подпапки, название каждой — ID сайта, для медиафайлов которого используется.
Чтобы было более наглядно, вот как это выглядит:
В базе данных тоже нет ничего замысловатого:
wp_sitemeta
содержит все-все настройки сети (аналог wp_options
).wp_
, wp_1_
, wp_2_
и так далее.В управлении (администрировании) сети WordPress Multisite по сути нет ничего сложного. Но тем не менее люди иногда сталкиваются с трудностями, поэтому в этой, второй части поста про мультисайтовость, я постараюсь рассказать и показать, что к чему.
Первая часть находится по этой ссылке, она скорее как вводная, но в то же время там я рассказываю про установку сети.
А теперь готовьтесь, что будет много скриншотов и мало текста. Скажу также, что все действия будут проводиться через консоль мультисайта, поэтому, если вы не можете найти указанный пункт меню или что-либо ещё, убедитесь, что вы действительно находитесь там, где надо.
Попасть в неё всегда можно через админ-бар, Мои сайты > Управление сетью > Консоль.
Переходим в Сайты > Добавить новый.
Так как в предыдущей части поста я устанавливал свой мультисайт в поддиректории, то при создании подсайта мне предлагают указать название поддиректории.
Думаю с остальными полями проблем возникнуть не должно. Обратите внимание, что когда вы будете вводить электронную почту пользователя, то у вас появится выпадающий список уже существующих пользователей сети, чей емайл совпадает с тем, что вы вводите.
Если вы наведёте на какой-либо из сайтов в меню Сайты, то у вас появится список ссылок-действий (для главного сайта кстати доступны только «Изменить», «Консоль», и «Перейти»).
Тут я пожалуй начну с конца.
Думаю тут особых комментариев не нужно, вкладки «Пользователи» и «Темы» будут рассмотрены дальше по ходу поста.
Что касается вкладки «Настройки», то она просто содержит практически все опции (настройки) каждого сайта в простом виде — название настройки в базе данных и текстовое значение (массивы тут не поддерживаются и не доступны для редактирования). Будьте осторожны с настройками там и не меняйте то, в чём не уверены.
Если вы просто добавляете пользователя через консоль сети в меню Пользователи > Добавить нового, тогда пользователь добавляется глобально в базу сети, однако не присваивается ни к какому сайту (это делается отдельно), при этом пользователю приходит по email ссылка, с помощью которой он сможет установить свой пароль и в этоге получит доступ к странице в админке, в которой он сможет отредактировать данные профиля.
После этого у добавленного пользователя есть две судьбы — либо его назначат суперадминистратором, либо его присвоят к какому-либо из сайтов.
Ах да, суперадминистратор это такой человек, который имеет доступ абсолютно ко всему и на всех сайтах, хотя наверное об этом и так нетрудно догадаться. Сделать кого-либо суперадмином очень просто, достаточно прямо из консоли сети перейти в Пользователи и затем на страницу конкретного пользователя. Там будет чекбокс.
В консоли сети переходим в Сайты > Все сайты, выбираем нужный, наводим на него мышкой, жмём ссылку «Изменить» и на открывшейся странице переходим на вторую вкладку — Пользователи.
На этой странице вы можете добавить к сайту пользователя с выбранной ролью, и это может быть как пользователь, существующий в базе, так и новый.
У администрирования плагинов и тем в сети WordPress Multisite существует одно принципиальное различие, поэтому предлагаю прочитать эту главу внимательно.
Когда через консоль сети вы устанавливаете/загружаете тему, то сначала она недоступна для использования на сайтах сети. Вы сразу же можете нажать Разрешить для сети — тогда тема сразу станет доступна для использования на всех сайтах.
Однако, вы можете сделать так, чтоб тема была доступна для использования только на одном или только на нескольких сайтах сети, для этого переходите в управление сайтом на вкладку «Темы» и тут уже вы можете разрешить тему непосредственно для данного сайта.
Ситуация с плагинами чуть ли не противоположная — после установки плагина на сайт он становится доступным для активации сразу на всех сайтах сети, однако, если вы кликаете Активировать для сети, то он становится принудительно включен для всех сайтов.