코스모스팜 유료 회원관리 플러그인을 사용 중 입니다.
비로그인 사용자가 권한이 없는 페이지에 들어가면 경고창이 뜨면서 로그인 페이지로 전환이 됩니다.
문제는 Role에 따른 페이지 접속 권한(user role editor플러그인 사용)을 설정하였는데 로그인을 한 사용자(권한 1)가 권한 없는 페이지(권한 2)에 가게 되면 설정해둔 경고창도 안뜨고 아무런 내용도 없는 페이지로 가버리게 됩니다.
여기서 저는 해당 페이지(글이나 포트폴리오 포함)에 권한이 없는 로그인 사용자는 경고창을 보고 이전 페이지나 메인 페이지로 가게끔 만들고 싶습니다. 다른 수정사항은 검색을 통해 많이 도움 받았는데 이 부분은 나오지 않아 여쭤보게 됩니다.
안녕하세요~^^
코스모스팜 회원관리 플러그인에서 페이지 제한 기능을 사용할 경우
비로그인 사용자는 페이지를 볼 권한이 없다면 페이지 제한 로그인 화면 설정에 따라
페이지 이동 또는 해당 페이지에 로그인이나 회원가입 레이아웃을 표시합니다.
로그인 사용자가 해당 페이지를 볼 권한이 없다면
페이지에 "페이지를 볼 권한이 없습니다." 문구를 표시합니다.
워드프레스 관리자 -> 회원가입관리 -> 설정 페이지에서
페이지 제한 로그인 화면, 페이지 제한 알림 메시지, 페이지 권한 없음 메시지를 설정하실 수 있습니다.
로그인 사용자가 페이지를 볼 권한이 없을 때 alert 창을 표시하고
메인 페이지로 이동하게 하시려면
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 활용해보시겠어요?
add_filter('cosmosfarm_members_page_restriction_content', 'cosmosfarm_members_page_restriction_content_2020_01_20', 10, 2);
function cosmosfarm_members_page_restriction_content_2020_01_20($content, $restriction){
if(is_user_logged_in()){
echo '<script>alert("권한이 없습니다.");</script>';
echo '<script>window.location.href="' . site_url() . '";</script>';
exit;
}
return $content;
}
고맙습니다.
올려주신 코드 적용했더니 바로 적용됩니다.
도움이 많이 되었습니다! 더욱 번창하는 코스모스팜이 되시길 바랍니다.
감사합니다.