안녕하세요 코스모스팜 회원관리 플러그인 결제해서 사용하고 있는데요.
멀티사이트에서 플러그인은 잘 쓰고 있네요~
그런데 회원가입을 A에서 한번, B에서 한번 이렇게 따로 해줘야 하더라고요.
플러그인을 쓰거나 관리자페이지에서 수동으로 모든 사이트 등록하는 방법이 있긴 한데
실시간 적용이 필요할 것 같아서 혹시 방법이 있나 여쭤볼게요~
안녕하세요. 위에 설명대로 functions.php 에 코드를 추가했습니다.
모든 멀티사이트에 자동으로 회원가입이 모두 되는 기능은 되긴하는데.. 사이트도 추가되는 문제가 있습니다.
예를 들어,
1) naver.com과 add.naver.com 2개의 멀티사이트를 운영
2) test라는 회원을 naver.com 에서 가입
3) naver.com과 add.naver.com 2개 모두 회원이 자동으로 가입됨
4) 하지만 test.naver.com 이라는 멀티사이트가 추가 됨..
위 1~3번까지는 원하는 기능이지만 4)번은 회원가입할 때마다 [ 사이트 > 모든사이트 ] 에 4)번의 이름과 같은 사이트 이름이 추가되는 것은 문제가 있어서 그 부분을 수정할 수 있을지 질문드립니다.
감사합니다.
답변 감사드립니다~ 참고해서 사용하도록 할게요^^
안녕하세요~^^
워드프레스에서 멀티 사이트는 하나의 워드프레스에서 서로 다른 독립된 여러 사이트를 만드는 기능입니다.
따라서 사이트 간 데이터가 공유되지 않습니다.
user_register 액션과 get_sites 함수, add_user_to_blog 함수를 활용하면
A 사이트에서 회원가입을 하거나 B 사이트에서 회원가입을 할 때
멀티사이트에도 회원가입을 할 수 있습니다.
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 활용해보시겠어요?
add_action('user_register', 'user_register_2020_01_21', 10 , 1);
function user_register_2020_01_21($user_id){
$user = new WP_User($user_id);
$role = $user->roles[0];
$blog_id = 1;
$sites = get_sites();
foreach($sites as $blog){
add_user_to_blog($blog->blog_id, $user_id, $role);
}
}
고맙습니다.