우커머스 로그인/로그아웃 시 이동하는 페이지 지정하기

코드를 사용하여 우커머스 로그인/로그아웃 시 이동할 주소 지정하기

워드프레스에서 우커머스(WooCommerce)를 설치하여 쇼핑몰을 운영할 경우 사용자가 로그인/로그아웃 시 리디렉션되는 페이지를 지정할 수 있습니다. 기본적으로 로그인/로그아웃 시 My Account(내 계정) 페이지가 표시될 것입니다.

우커머스에서 로그인/로그아웃 시에 홈(Home)으로 이동시키려면 다음 코드를 사용 중인 워드프레스의 테마 함수 파일(functions.php)에 추가하면 됩니다.

/*----------------------------------------------------------------------------*/
// redirects for login / logout -- 우커머스 로그인/로그아웃 시 리디렉션
/*----------------------------------------------------------------------------*/
add_filter('woocommerce_login_redirect', 'login_redirect');

function login_redirect($redirect_to) {

return home_url(); // home_url 값 반환

}

add_action('wp_logout','logout_redirect');

function logout_redirect(){

wp_redirect( home_url() ); // 로그아웃 시 home_url로 리디렉션

exit;

}
// 출처: github

"워드프레스 로그인/로그아웃 후 특정 페이지로 이동하기" 글에 소개된 코드를 사용해보니 우커머스에서는 제대로 작동하지 않았습니다.

그리고 링크된 github 게시글의 댓글을 보면 이전 페이지로 이전시키려면 어떻게 해야 하는지에 대한 질문이 있는데, 작성자가 제시한 링크가 깨져 있네요. 참고로 인터넷에 나와 있는 "로그인 후 이전 페이지로 리디렉션"시키는 방법은 제대로 작동하지 않을 것입니다. 대부분의 코드를 적용해보면 My Account(내 계정) 페이지로 이동하게 됩니다.

그리고 WordPress Social Login을 사용하여 소셜 로그인 기능을 구현한 경우에도 로그인 후에 My Account로 이동할 것입니다. WordPress Social Login의 소스를 수정하여 테스트해보니 페이스북에서는 잘 이동하지만 네이버에서는 제대로 작동하지 않았습니다.

또, 문제는 소스를 수정할 경우 나중에 플러그인이 업데이트되면 수정 사항이 사라지기 때문에 주의가 필요합니다. 우커머스에서 로그인한 후에 이전 페이지로 이전시키기 위해 Peter's Login Redirect를 설치한 후 로그인 로그아웃 후 이전 페이지로 이동하도록 설정해 놓으니 모바일에서 My Account 페이지가 나오는 문제를 맡게 되었습니다. 쉽게 생각했는데 쉬운 문제가 아니네요. 더구나 소셜 로그인 기능까지 들어가 있어서 문제가 더 복잡해졌습니다.

플러그인을 사용하여 우커머스 로그인/회원 가입 시 이동할 페이지 지정하기

참고로 WooCommerce Login Redirect라는 플러그인이 있습니다. 로그인/등록(회원 가입) 시에 리디렉션시켜주는 기능을 한다고 하네요. 코드로 잘 안 되는 경우 이 플러그인을 사용해보시기 바랍니다. 이 플러그인을 사용하면 쉽게 로그인/등록 시 이동할 페이지를 설정할 수 있습니다.

우커머스 로그인 리디렉션

위의 그림과 같이 이 플러그인을 설치하면 우커머스 > 설정 아래에서 Login RedirectRegistration Redirect 옵션이 추가됩니다.

참고:


댓글 남기기

* 이메일 주소는 공개되지 않습니다.