다중 사이트에 대한 is_user_logged_in ()이 있습니까?


11

내가 좋아하는 네트워크 사이트 ID에 추가 할 수 있습니다 워드 프레스 MU / 다중 (3.0 이상)에 대한 is_user_logged_in () 함수가 있습니까 is_user_logged_in(2)2사이트 ID 것은?

최신 정보:

약간 파고 난 후에 아래 코드를 생각해 냈습니다. 불행히도 작동하지 않습니다.

// 이것을 사용하지 마십시오. 작동하지 않습니다.
mu_logged_in ($ blog_id) 기능 {
    switch_to_blog ($ blog_id);
        $ status = is_user_logged_in ();
    restore_current_blog ();
    $ status를 반환;
}

anu의 답변과 의견이 좋습니다.

또한 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

어떤 사용자가 어떤 블로그에 속해 있든지 로그인 한 사용자에 대한 답변이 아마도 반환 될 것입니다.
anu

네가 옳아. 현재 블로그에서만 작동합니다. 하지만 내가 뭘하려고했는지 알아? 사용자가 로그인하지 않은 블로그가 있지만 네트워크에서 다른 블로그에 로그인 한 경우 정보를 표시하고 싶습니다. 어떤 아이디어?
cwd

요점이 없습니다. 사용자의 로그인 상태는 '전역'입니다. 즉, 일단 사용자가 로그인하면 해당 사용자는 '구독자'를 기본 역할로 사용하여 모든 블로그에 로그인합니다.
anu

4
작은 힌트. 이 함수 is_blog_user()는 더 이상 사용되지 않으며이 데이터를 가져 오는 새로운 함수는 is_user_member_of_blog( $user_id, $blog_id )입니다.
bueltge
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.