최근에 코스모스팜 스레드를 알게되어, 도움을 받고 있습니다.
로그인 관련, 이런저런 구상을 하다가 혹시 조언을 구할 수 있을까 싶어서 문의드립니다.
<개요>
1. 홈페이지에 회원가입(Register) 메뉴 없앰, 페이지 접근불가 처리.
2. 로그인 메뉴 클릭 시 타 서버(MSSQL)에 있는 회원정보를 불러와서 로그인 처리.
3. 해당 정보로 로그인 한 사용자들은 KBOARD 의 권한(로그인유저) 메뉴 이용 가능.
(해당 사용자들은 KBOARD만 사용하고, 프로필 변경이나 회원탈퇴 등 일체의 기능이 필요없음.)
아직 작업 전인데, 2번 항목까지는 대충 만들면 될것 같은데요.
관리자와 편집자는 워드프레스 기능을 써야하니 is_user_logged_in() 함수는 손대지 않을거구요.
KBOARD 소스를 보면 './class/KBCaptcha.class' 外 '에디터php', '댓글 리스트php', '댓글 컨트롤러class' 파일 등에 유저로그인에 대한 체크가 있더라구요.
<문의>
1. KBOARD 소스의 is_user_logged_in() 부분들을 제가 만든 다른 함수와 변수로 대체해서 사용하면 될까요?
2. DB 저장할 때도 외부 유저정보와 KBOARD에서 작성한 내용이 들어갑니다.
3. 워드프레스를 접한지 얼마되지 않아, 전체 로직에 대한 이해가 없어서 쉬운 방법들이 있는지 없는지를 모르기 때문에, 그냥 PHP로 짜려고 합니다.
위와 같이 만들려고 하는데, 제 생각이 맞는지 몰라서 문의글 남깁니다.
작업 중 오류에 대해서는 제가 감수할 부분인데, 이렇게 구현이 가능할지 아닐지만이라도 알려주시면 감사하겠습니다.
본문 내용만으로는 어떻게 답변을 드려야 할지 좀 어렵네요^^
is_user_logged_in() 함수는 단순히 로그인했는지만 체크하는 함수입니다.
가능하다면 is_user_logged_in() 함수를 변경하지 마시고 $current_user->ID 에 값을 써주시는게 좋은 방법일 수 있습니다.
함수 코드는 아래와 같습니다.
function is_user_logged_in(){
$user = wp_get_current_user();
return $user->exists();
}
function wp_get_current_user(){
global $current_user;
get_currentuserinfo();
return $current_user;
}
$current_user는 WP_User 클래스의 인스턴스이며 글로벌 변수입니다.
https://codex.wordpress.org/Class_Reference/WP_User
오! 제가 기대하던 답변입니다.
알려주신대로 하면 간단하고 깔끔하게 구성이 되겠네요.
정말 감사합니다!!!