wpmu_signup_blog() Добавление блога в WordPress Multisite


Работая над одним из проектов SASecurity Group (к слову, он скоро будет запущен), возникла у меня необходимость создавать блоги на платформе WordPress Multisite при выключенной дефолтной регистрации. Задачка не сложная: пару минут поиска на wp codex и нужная функция «в кармане». Однако, я заметил, что описания этой функции на русском просто нет. Ну что же, напишу.

Итак, функция wpmu_signup_blog() позволяет нам провести регистрацию нового блога в сети, при этом не упустив всей «подкопотной магии». После ее применения получаем нотификацию на почту, пользователя и т.д. В общем, все выглядит так, как будто человек зарегистрировался через стандартную форму регистрации.

$domain

Тут пишем домен создаваемого блога без всяких слэшей и протоколов. Например, sub.domain.by

При этом, обратите внимание, что если ваша сеть работает не по принципу поддоменов, а по принципу вложенных директорий, то тут указываем оригинальный домен: domain.by

$path

Тут указываем директорию размещения. Возвращаясь к $domain, обращаю внимание, что тут у нас все наоборот. Если ваша сеть работает по принципу поддоменов, то в $path просто указываем /, т.е. директория у нас корневая. А вот если используются подпапки, то тут указываем /sub, к примеру.

$title

Все просто: указываем название создаваемого блога. Никаких проблем)

$username

Собственно, имя главного в создаваемом блоге.

$email

Почта этого самого главного. Явки и пароли будут высланы именно на него.

$meta

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

Учтите, что функция wpmu_signup_blog() ничего не возвращает, а просто тихонько выполняет что надо и все. Так что, если надо получить в ответ blog_id — можно попробовать поискать красивый выход из ситуации на том же кодексе. Я лично обошел проблему запросом в базу (домен-то мне известен).

Удачи.