위의 스크린샷에 있는 Log in 링크는 워드프레스에서 기본제공되는 Log in 블럭을 사용하였다. 이 Log in 링크는 디폴트 로그인 페이지로 연결된다.
이렇게 보이는데 아래 사진처럼 커스텀 로그인 페이지로 바뀌어 나오게 해보자.
시도 1. function.php 파일 수정
child-theme의 function.php에 아래의 코드를 추가한다. ‘login-url’부분을 본인의 로그인 페이지로 변경하면 된다.
<!-- redirect to custom login page -->
<?php
function redirect_wp_login_to_custom_url() {
wp_redirect(home_url('login-url'));
exit();
}
add_action('login_form_login', 'redirect_wp_login_to_custom_url');
?>
위의 코드를 추가하였을 때 사용자 환경에서는 의도한대로 잘 동작하였다. 그러나 어드민 패널에서 문제가 발생했다. 플러그인 추가 불가, 미디어 추가 불가, 테마수정 불가 등등… 그래서 다른방법을 찾아보았다.
시도 2. .htaccess파일에서 redirect하기
워드프레스의 Log in 링크는 /wp-login.php으로 연결된다. 이것을 /login경로로 리다이랙트하면 해결되지 않을까 하여 아래의 redirect 코드를 .htaccess파일에 추가하였다.
RewriteEngine On
RewriteRule ^wp-login\.php$ http://localhost:8888/midas/login [R=301,L]
이 방법도 실패하였다. 문제는, Log out을 클릭하면 이것조차 /login으로 리다이랙트되어 로그아웃이 동작하지 않는것이었다. wp-login.php파일이 복잡한 기능을 하고있어 단순히 리다이랙트만 시키면 고장이 나는것 같다.
시도 3. 플러그인 사용
https://onemco.com/forum/d/61-redirect-wp-loginphp-to-another-page
이곳에서 소개해준 “Theme My Login”플러그인을 사용하였다.
설치하니 원하는대로 동작한다..!!