안녕하세요 개발자님 덕분에 모던갤러리와 비너스블로그스킨을 구입하여 잘 사용하고 있습니다.
개발자님 오늘은 워드프레스에 관해 궁금한게 있어 글을 남겨 보는데요^^
로그아웃시 로그인 페이지로 넘어가지 않고, 현재페이지로 머무르게 하는 방법이 궁금합니다.
function wpse_44020_logout_redirect($logouturl, $redir)
{
return $logouturl . '&redirect_to=http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
}
add_filter('logout_url', 'wpse_44020_logout_redirect', 10, 2);
인터넷 서치하다가 위 조각을 찾아 funtion.php에 넣어 사용하는데요.. 고유주소를 글이름으로 설정해서 그런지 영문url의 카테고리에서는 현재 페이지에 머무는데, 한글 url의 페이지에서는 에러가 나네요ㅠㅠ 좋은 말씀 꼭 좀 부탁 드리겠습니다^^
php에 urlencode() 함수가 있습니다. (http://php.net/manual/en/function.urlencode.php)
$logouturl = urlencode($logouturl . '&redirect_to=http://' . $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
return $logouturl;
이렇게 리턴전에 url 코드로 변환하면 어떨까요?
핵심은 urlencode() 함수입니다 :)
말씀 너무 감사합니다.^^ 그런데 제가 너무 잘 몰라서요 ㅜㅜ
<?php
$themename = "Jarida";
$themefolder = "jarida";
function wpse_44020_logout_redirect($logouturl, $redir)
{
$logouturl = urlencode($logouturl . '&redirect_to=http://' . $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
return $logouturl;
}
add_filter('logout_url', 'wpse_44020_logout_redirect', 10, 2);
funtion.php에 이렇게 고쳐서 넣어 봤습니다. 그런데 에러가 나네요ㅠㅠ
에러 메시지는 이렇게....ㅜㅜ
The requested URL /부분-ì¸í…Œë¦¬ì–´ë§Œìœ¼ë¡œ-ì‹ í˜¼ì§‘ì„-ë“œë¼ë§ˆí‹±í•˜ê²Œ-ë³€ì‹ /http://weddingb.co.kr/wp-login.php?action=logout&_wpnonce=824fe38547&redirect_to=http://weddingb.co.kr/%eb%b6%80%eb%b6%84-%ec%9d%b8%ed%85%8c%eb%a6%ac%ec%96%b4%eb%a7%8c%ec%9c%bc%eb%a1%9c-%ec%8b%a0%ed%98%bc%ec%a7%91%ec%9d%84-%eb%93%9c%eb%9d%bc%eb%a7%88%ed%8b%b1%ed%95%98%ea%b2%8c-%eb%b3%80%ec%8b%a0/ was not found on this server.
워낙 초보인지라 해주신 말씀을 제가 잘 이해 못한것 같기도 하고요...ㅜㅜ 너무 죄송하지만 도움 부탁 드리겠습니다.
$logouturl 파라미터에 어떤 값이 저장되어있나요?
어째서 주소 앞에 주소가 또 있고 그게 깨져 있네요..
넘겨지는 주소 자체가 문제가 있나요?
중간중간 출력해가며 변수값을 확인 해보면서 오류를 찾아보셔야 겠습니다 :)