7

Апгрейд WordPress до WordPress Site Network (WordPress в режиме сети)

Продолжаем и углубляем тему установки WordPress в рамках цикла статей по обустройству рабочего места WordPress-разработчика.


WordPress Site Network — WordPress в режиме сети (еще одно название «режим Multisite»), до выхода WordPress 3.0 распространялся в виде отдельного дистрибутива и назывался WordPress MU. Начиная с версии 3.0 весь функционал WordPress MU был интегрирован в основное ядро WordPress. WordPress MU больше не существует как отдельная разработка.

Что дает режим сети? Возможность создания практически неограниченного количества подсайтов в рамках одной инсталляции. Подсайт функционирует почти как отдельный блог, со своим администратором, пользователями и т.п. Т.е. если вы хотите, чтобы в рамках одного сайта, у вас было несколько разных по тематике блогов (подсайтов), то режим сети — это ваш выбор.

Для WordPress-разработчика режим сети это дополнительная, хотя и не очень большая, головная боль. Например новый плагин, надо тестировать как в обычной установке, так и в сетевой. Предусмотреть корректную активацию плагина по всей сети, корректную работу на подсайтах и т.п. Таким образом наличие не только обычной установки WordPress, но и сетевой — обязательное требование к рабочему месту )

Активация режима сети

У вас уже должна быть создана чистая установка WordPress с рабочими постоянными ссылками.

Существует два основных варианта создания сети:

  1. Подсайты располагаются на поддоменах (site1.example.com и site2.example.com)
  2. Подсайты располагаются в поддиректориях (example.com/site1 и example.com/site2)

Для установки на локальном сервере мы выбираем более простой второй вариант. Требования к системе: наличие mod_rewrite и работающего .htaccess. Если на вашем сайте работают постоянные ссылки, значит эти требования выполнены в полном объеме.

  • Первый шаг. Открываем для редактирования wp-config.php и добавляем в него следующую строчку:
    define('WP_ALLOW_MULTISITE', true);

    сразу НАД надписью /* Это всё, дальше не редактируем. Успехов! */

  • Сохраняем wp-config.php и переходим в панель управления. Открываем меню Инструменты -> Установка сети:
    Установка WordPress Site Network (1)

    Установка WordPress Site Network (1)

    Выбираем имя сети, вводим e-mail администратора сети (ввожу такой же как у администратора текущей установки).

  • Нажимаем кнопку Установить и в точности следуем инструкциям полученным на следующей странице:
    Установка WordPress Site Network (2)

    Установка WordPress Site Network (2)

    1. Создаем папку blogs.dir внутри папки wp-content.
    2. Добавляем строки, указанные в п.2 в wp-config.php. Лично я их вставляю на место ранее вставленной строки — define(‘WP_ALLOW_MULTISITE’, true); — ее можно удалить, она нужна только для вывода страницы с инструкцией. Вот на всякий случай фрагмент итогового файла:

    define('WP_DEBUG', false);
    
    define( 'MULTISITE', true );
    define( 'SUBDOMAIN_INSTALL', false );
    $base = '/_wordpress-clean/';
    define( 'DOMAIN_CURRENT_SITE', 'localhost' );
    define( 'PATH_CURRENT_SITE', '/_wordpress-clean/' );
    define( 'SITE_ID_CURRENT_SITE', 1 );
    define( 'BLOG_ID_CURRENT_SITE', 1 );
    
    /* Это всё, дальше не редактируем. Успехов! */

    3. Заменяем правила в файле .htaccess. Заменяем все строки между # BEGIN WordPress и # END WordPress. Получаем:

    # BEGIN WordPress
    RewriteEngine On
    RewriteBase /_wordpress-clean/
    RewriteRule ^index\.php$ - [L]
    # uploaded files
    RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
    # add a trailing slash to /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).*) $1 [L]
    RewriteRule ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
    RewriteRule . index.php [L]
    # END WordPress
  • На этом все. Возвращаемся в панель управления, чтобы создать новый сайт сети.

Создание сайта сети

  • Пару слов о создании дополнительного сайта. После успешной установки сети, в панели управления при нажатии на имя пользователя, вы должны увидеть новый пункт меню — Управление сетью:
    Создание нового сайта сети (1)

    Создание нового сайта сети (1)

    Конечно, этот пункт доступен только, если вы являетесь администратором сети.

  • В панели управления сетью переходим в меню Сайты -> Добавить новый:
    Создание нового сайта сети (2)

    Создание нового сайта сети (2)

    Выбираем адрес сайта (должен быть уникальный, не должен совпадать с ярлыками страниц основного сайта), заголовок, e-mail администратора и нажимаем Добавить сайт.

  • Возвращаемся к списку сайтов:
    Создание нового сайта сети (3)

    Создание нового сайта сети (3)

    и переходим в консоль нового сайта.

  • Язык нового сайта по умолчанию — английский. Не пугайтесь. Переходим в Settings -> General и изменяем язык сайта на русский:

    Создание нового сайта сети (4)

    Создание нового сайта сети (4)

  • Все. Теперь у нас два сайта: основной (http://localhost/_wordpress-clean/) и дополнительный ( http://localhost/_wordpress-clean/site1).

Читайте далее: Установка Eclipse PHP Development Tools (PDT) на Windows.

Полезные ссылки: