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


11

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

Оновлення:

Після невеликого копання я придумав код нижче. На жаль, це не працює.

// не використовуйте це. не працює.
функція mu_logged_in ($ blog_id) {
    switch_to_blog ($ blog_id);
        $ status = is_user_logged_in ();
    Resto_current_blog ();
    повернути $ статус;
}

Відповідь і коментарі ану хороші.

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


Чи можете ви пояснити випадок використання?
Чіп Беннетт

Відповіді:


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

Ваша відповідь, ймовірно, повернеться істинним для будь-якого користувача, який увійшов у систему, незалежно від того, до якого блогу є користувач.
ану

Ти правий. Він досі працює лише для поточного блогу. Але ти бачиш, до чого я намагався потрапити? У мене є блог, в який користувач не буде входити, але я хочу відобразити інформацію, якщо він увійшов до іншого блогу в мережі. Будь-які ідеї?
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.