위 캡쳐 : 홈페이지 접속 첫 화면 - 로그인 되지 않은 상태



위 캡쳐 : 로그인 하고 나서






현재 *** 는 워드프레스 + 우커머스를 이용한 쇼핑몰인데, 이 워드프레스 구축을 제가 담당했습니다.


이 사이트에 로그인되어 있지 않을 때에는 아무 메시지를 보여주지 않다가, 방문자가 로그인하면 환영 메시지를 띄워주는 부분을 구현하는 방법은 다음과 같습니다.


워드프레스이므로, 워드프레스 테마에 적용하셔야 합니다. 차일드테마 사용 여부와 관계없이 동작합니다.


메시지를 보여주는 것만으로는 다음 코드로 보여줄 수 있습니다. 관련 워드프레스 함수나 변수를 알려주는 웹사이트는 많은데, 딱 이 기능을 갖춘 코드는 검색해도 잘 나오지 않아서 수정작업을 좀 거쳤으며, 이런 사이트들 대부분이 영문 사이트 이므로 한글화 작업을 거쳤습니다.


소스코드를 보시면 $user_login 변수는 딱히 한글화가 되어 있다고 보여지는 부분이 없는데, 당연한겁니다. 왜냐하면 고객이 닉네임을 영어로 설정하면 영어 그대로 나와줘야 하기 때문입니다.


<?php

$user_id = get_current_user_id();

global $user_login;

get_currentuserinfo();

if ($user_id != 0) {

    echo $user_login.'님 환영합니다!';

}

?>


하지만 이 상태 그대로 유저의 고유 id를 체크해서 유저의 이름과 텍스트 출력 부분만 집어넣으면 추후에 CSS 스타일을 적용하여 글자 크기, 색상 등을 바꾸기가 힘이 듭니다.


따라서 이 함수를 html 태그로 감쌀 필요가 있습니다.


<p class="usernameshow">

    <?php

$user_id = get_current_user_id();

global $user_login;

get_currentuserinfo();

if ($user_id != 0) {

   echo $user_login.'님 환영합니다!';

}

?>

</p>


이렇게 감싸면 스타일시트에서 usernameshow 클래스로 접근하여 스타일을 바꿔줄 수 있습니다. 클래스 네이밍은 자신이 원하는 걸로 하시면 됩니다. 정해진 클래스를 사용해야 동작하는 함수는 아니기 때문에...


위 사이트의 경우에는 header.php의 적당한 위치에 위 코드를 적용한 것입니다. 물론 아래 방법 써서 CSS 적용했습니다.






댓글을 달아 주세요

  1. 달빛천사7 2015.12.28 10:30 신고  댓글주소  수정/삭제  댓글쓰기

    팝업창이군요 오늘 날씨가 춥네요
    연휴기간 잘 보냈어여 즐거운 하루 되세요

  2. 빌노트 2015.12.29 03:06 신고  댓글주소  수정/삭제  댓글쓰기

    워드프레스로 뭔가 서비스를 만들어볼 생각인데
    그 때 도움이 될 것 같네요.

  3. 밥존스 2015.12.29 10:28 신고  댓글주소  수정/삭제  댓글쓰기

    너무 귀한 정보같은데 감사드리구요... 제가 사용하고 싶은데 테마의 header.php에 저코드를 어디에다 붙혀야하나요? 제가 초보라...^ ^ 추가로 다른 설정은 필요없는지요.
    * 한가지만 더 질문 올리면...
    1. 워드프레스 user login 창 라벨 이름등을 수정해서 쓰고싶은데
    어디를 수정해야하는지요(cf. '사용자명' --> '이메일주소'로 변경하고싶을때, regiser 이메일 인증후 로그인 화면이 뜨게하려고 할때 등)

    • 책덕후 화영 2015.12.29 11:11 신고  댓글주소  수정/삭제

      음... 붙여넣는 위치는 테마마다 제각각이라 뭐라고 설명드리기가... 글씨를 출력하고 싶은 해당 위치에 넣으시면 됩니다. 그리고 1번 항목에 대해서는 $user_login 값을 다른 걸로 바꾸시면 되요. 근데 유저 이메일값을 어떻게 가져오는지는 저도 잘 모르겠네요. 워드프레스 개발자 매뉴얼에 나와있을 것 같습니다만...

  4. 밥존스 2015.12.29 12:41 신고  댓글주소  수정/삭제  댓글쓰기

    아 바쁘신데 감사합니다....정말 마지막으로 한가지만
    가입후 메일인증하면서 비밀번호 설정을 하고나면 '....뒤로 가기'라는 작은 문구가 뜨네요...바로 로그인 창이 뜨게하면 좋은데요. 환영문구가 뜨면서 로그인 창이 뜨게할수 있으면 얼마나 좋을까요!!!!ㅠㅠ 위에 만드신 싸이트가 너무 멋지고 부럽습니다. ^ ^*

    • 책덕후 화영 2015.12.29 13:22 신고  댓글주소  수정/삭제

      바로 로그인창이 뜨게하려면 login redirect 기능을 써야합니다. 위 사이트의 경우에는 TML 플러그인에서 login redirect 기능을 지원해서 로그인 창이 바로 나타나는 거구요, 일반적으로는 함수나 플러그인을 씁니다. wordpress login redirect 라고 구글 등에서 치면 정보가 좀 나올거에요. 영어정보라는게 함정입니다만... ㅠㅠ

  5. 스마트제이킴 2015.12.30 07:31 신고  댓글주소  수정/삭제  댓글쓰기

    코딩이란 참 신기한것 같아요. 1주일 지나면 가물 가물 하고 한달 지나면 항상 새롭죠. 그리고 1년 지나면 내가 만든 코딩도 해석 못하죠. ㅋㅋㅋ. 요즘 한동안 손도 안됐더니 다 까먹었네요. 시간 나는데로 다식 한번 복습 쫙 해야겠습니다.

티스토리 툴바