Есть ли is_user_logged_in () для мультисайта?


11

Существует ли функция is_user_logged_in () для Wordpress MU / Multisite (3.0+), в которую можно добавить идентификатор сетевого сайта, например, is_user_logged_in(2)где 2будет site_id?

Обновить:

После небольшого копания я придумал код ниже. К сожалению, это не работает.

// не используйте это. не работает.
function mu_logged_in ($ blog_id) {
    switch_to_blog ($ blog_id);
        $ status = is_user_logged_in ();
    restore_current_blog ();
    вернуть статус $;
}

Ану ответ и комментарии хороши.

также убедитесь, что у вас правильно установлен домен cookie в файле wp-config.php :)


Можете ли вы объяснить вариант использования?
Чип Беннетт

Ответы:


10

Да и нет!

Работа пользователей в многосайтовом сценарии заключается в том, что существует один пул пользователей, которые затем связываются с блогами.

Таким образом, статус входа в систему является общим для всех блогов, но вы можете использовать, is_blog_user($blog_id)чтобы определить, является ли текущий зарегистрированный пользователь участником этого блога. Пример:

if (is_user_logged_in()) {
  if (is_blog_user(4)) echo "Current user is a member of blog 4";
}

Страница кодекса для is_blog_user()


Я имел в виду что-то немного другое. Я добавил к вопросу, но я думаю, что ваш тоже очень полезен.
cwd

Ваш ответ, вероятно, вернет true для любого вошедшего в систему пользователя, независимо от того, в каком блоге этот пользователь участвует.
ана

Ты прав. Это все еще работает только для текущего блога. Но вы видите, что я пытался получить? У меня есть блог, в который пользователь не войдет, но я хочу отобразить информацию, если он вошел в другой блог в сети. Есть идеи?
cwd

Вы упускаете суть. Статус пользователя, вошедшего в систему, является «глобальным», т. Е. После входа в систему этот пользователь регистрируется во всех блогах с «подписчиком» в качестве роли по умолчанию.
ана

4
Небольшой намек. Функция is_blog_user()устарела, и новые функции для получения этих данных is_user_member_of_blog( $user_id, $blog_id ).
Бюлдж
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.