Улучшения режима Multistate в WordPress 4.4

Улучшения режима Multistate в WordPress 4.4

От автора: я обожаю режим Multisite в WordPress: я использую его для управления небольшой сетью сайтов клиентов, храню все свои демо-сайты в одном месте, а также позволяю клиентам запускать свои собственные сайты в отдельной сети.

Каждый раз с выходом новой версии WordPress приятно замечать, как режим Multisite становится чуточку лучше. В WP 4.4 в режим Multisite внесено несколько приятных изменений, которые будут очень полезны в частности при настройке регистрации или работе с другими настройками. Я составил краткий обзор улучшений.

Объект WP_Network

Для более аккуратной настройки и легкого определения режима Multistate был добавлен объект WP_Network, который заполняет глобальные переменные $current_site и $current_blog.

Для обеспечения максимальной обратной совместимости команда разработчиков уже тестировала все внесенные изменения, однако если же вы все-таки вручную заполните эти переменные или будете с ними взаимодействовать каким-либо другим образом, вам потребуется протестировать код.

Функции сетевых параметров

В WordPress 4.4 появились 4 новых функции сетевых параметров:

add_network_option()

update_network_option()

get_network_option()

delete_network_option()

Они используются для хранения параметров сетей, отличных от текущей. Если вам нужны параметры текущей сети, можно воспользоваться существующими функциями:

add_site_option()

update_site_option()

get_site_option()

delete_site_option()

Обратите внимание на название четырех верхних функций с окончанием *_site_option(), они вас могут запутать. Точно такие же функции есть в WordPress и при отключенном режиме Multistate. Так что если у вас запущена сеть, то функции *_site_option() относятся ко всей сети, а не только к конкретному сайту, а функции *_network_option() не относятся к текущей сети, а наоборот относятся ко всем другим сетям кроме текущей.

Новые Экшен хуки

В версии 4.4 также было представлено несколько новых хуков. Они могут быть полезными при настройке способа конфигурации сети. Среди них:

before_signup_header: этот новый экшен запускается перед загрузкой страницы регистрации в файле wp-signup.php. Если вы хотите внести изменения в страницу регистрации, сделать редирект на другую страницу или добавить проверок перед загрузкой страницы, то можете прикрепить свои функции к этому хуку.

ms_network_not_found: запускается перед хуком ms_not_installed в случае, если глобальная переменная $current_site пуста. Раньше бы запускался хук ms_site_not_found, а данных хук позволяет работать с сетями сайтов. Т.е. если сеть не найдена, можно задать перенаправление на другую сеть, а не показывать обычный экран с ошибкой.

Хук invite_user запускается после того, как пользователь был приглашен в сеть, но до того, как ему пришло уведомление об этом. Пригодится в том случае, если нужно изменить способ работы уведомлений или для того, чтобы добавить что-то перед уведомлением (например, замечание или уведомление другому пользователю).

Улучшения интерфейса администратора сети

В панель администратора сети были внесены небольшие, но полезные улучшения:

Сетевые администраторы (или другие пользователи с правами управления сетью manage_network) могут просматривать активированные сетевые плагины во вкладке Плагины для каждого сайта. Мне уже пригодилась данная функция во время поиска потенциально конфликтных плагинов на отдельных сайтах.

Во время добавления нового сайта в сеть теперь можно выбрать его язык, который может не совпадать с языком основного сайта или других сайтов в сети. Это работает как через вкладку Сеть панели администратора, так и через страницу wp-signup.php. Функция крайне полезна для администраторов сайтов одной сети, говорящих на разных языках. В прошлом я уже использовал режим Multistate для управления многоязычными сетями, когда клиенту были нужны версии сайта на других языках. Данная функция очень полезна в таких случаях.

Для поиска пользователей в сети теперь можно использовать знак *, чтобы в результат попали менее релевантные записи. Будет полезно в том случае, если в вашей сети много пользователей, а вам нужно найти всех пользователей с одинаковым суффиксом в адресе электронной почты.

Теперь можно выбрать язык для каждого сайта в сети

Заключение

Среди вышеперечисленных улучшений небольшие изменения для пользователей, а также пара функций и хуков, которые пригодятся разработчикам при работе в режиме Multistate. Если вы уже настроили под себя процесс регистрации, к примеру, вы найдете полезные хуки.

Приятно видеть, что с новой версией WordPress в режиме Multistate появились небольшие изменения – вот бы так было всегда!

Автор: Rachel McCollin

Источник: //code.tutsplus.com/

Редакция: Команда webformyself.

Метки:

Похожие статьи:

Комментарии Вконтакте: