WordPress에서 사용자를 리디렉션하는 방법
게시 됨: 2018-08-08리디렉션은 웹 사이트, 플러그인 및 테마의 표준 부분입니다. 일부는 바로 눈앞에서 일어나고 있으며, 뒤에서 무슨 일이 일어나고 있는지조차 알지 못할 수도 있습니다.
리디렉션은 일반적으로 개발자에게 맡기지만, 해당 작업을 스스로 수행할 수 있도록 하는 몇 가지 팁을 보여 드리겠습니다.
로그인 성공 후 특정 사용자 역할을 리디렉션하는 방법
기사의 이 부분에서는 WordPress 기반 웹 사이트에 성공적으로 로그인한 후 특정 사용자가 방문하는 위치를 쉽게 수정하고 제어 할 수 있는 코드를 보여줍니다.
기본적으로 WordPress는 모든 사용자를 대시보드로 안내하므로 일부 사용자에게는 문제가 될 수 있습니다. 다른 사용자를 귀하의 홈페이지로 직접 유도 하거나 또는 이들을 위해 특별히 만든 다른 프론트엔드 페이지로 안내하는 동안 관리자와 작성자를 백엔드에 유지하고 싶을 수도 있습니다.
역할에 따라 사용자를 리디렉션하려면 다음 단계를 따르세요.
- functions.php 파일 열기
- 다음 코드를 복사하여 붙여넣습니다.
함수 my_login_redirect( $url, $request, $user ){ if( $user && is_object( $user ) && is_a( $user, 'WP_User' ) ) { if( $user->has_cap( '관리자') 또는 $user->has_cap( '저자')) { $url = admin_url(); } 또 다른 { $url = home_url('/맞춤 페이지 /'); } } 반환 $url; } add_filter('로그인_리디렉션', 'my_login_redirect', 10, 3 );
- 변경 사항을 저장하다
위에 표시된 코드는 관리자가 있어야 할 위치에 관리자 패널을 남겨두고 다른 모든 사용자는 사용자 정의 페이지로 이동합니다.
당신은 쉽게 번째 라인을 4 일에 $의 url 변수를 변경하고 6 URL을 변경하기 때문에 당신이 그 (것)들을 위해 생성 한 게시물 / 페이지로 사용자를 초래할 수 있습니다.
사용자 역할을 제어하려면 코드의 세 번째 줄에서 쉽게 수행할 수 있습니다. 위의 예에서는 관리자 패널에 관리자와 작성자를 남겼습니다. 거기에 관리자만 있으면 사진에서 작성자를 제거하기만 하면 됩니다.
if( $user->has_cap( '관리자' ) ) {
작성자를 제거하는 대신 다른 역할도 추가할 수 있습니다. 누가 어느 페이지에서 끝날지 결정하는 것은 귀하에게 달려 있습니다.
그게 다야 이 코드를 사용하면 사용자 로그인 후 리디렉션을 제어하기 위해 플러그인이 필요하지 않습니다. 여전히 코드를 변경하지 않으려면 플러그인으로 로그인한 후 사용자를 리디렉션하는 방법을 참조하십시오.
Peter의 로그인 리디렉션 플러그인으로 로그인 후 사용자 리디렉션
이전에 보여드린 일부 코드를 배치하여 로그인 후 사용자를 빠르게 리디렉션할 수 있지만 코딩에 익숙하지 않은 사용자에게는 이것이 최선의 선택이 아닙니다. 또한 리디렉션을 더 많이 제어하려면 코드를 수정하는 방법을 알아야 합니다.
코드를 수정하는 대신 더러운 작업을 수행할 플러그인을 보여드리겠습니다 . 플러그인이 나머지를 처리하는 동안 어떤 사용자가 어디로 이동하는지 결정하고 몇 개의 확인란을 클릭하고 URL을 붙여넣기만 하면 됩니다.

동일한 작업을 수행하도록 설계된 수많은 WordPress 플러그인이 있지만 기사의 이 부분에 대해 Peter의 로그인 리디렉션을 선택했습니다.
이 플러그인을 사용하면 이름, 사용자 역할 및 사용자 기능을 기반으로 사용자를 선택하고 해당 사용자가 로그인한 후 리디렉션될 URL을 붙여넣기만 하면 됩니다. 해당 사용자를 리디렉션하려는 경우 또는 다른 페이지를 선택할 수도 있습니다. 로그아웃 후 사용자 그룹. 또한 등록 시 모든 사용자의 대상 페이지로 사용될 별도의 URL을 선택할 수 있습니다.
그것으로 충분하지 않고 리디렉션을 더욱 개선하고 싶다면 Peter's Login Redirect가 도움이 될 것입니다. 예를 들어 각 사용자에 대해 특정 페이지를 만든 경우 플러그인에서 직접 URL을 생성할 수 있습니다. 이 경우 플러그인에 설명된 간단한 단축 코드는 사용자의 사용자 이름 을 입력 하기에 충분 하므로 해당 사용자를 특정 페이지로 안내합니다.
결국 플러그인 동작을 추가로 제어하는 데 도움이 될 수 있는 플러그인 옵션이 거의 없습니다. 한 가지 유형의 URL만 사용하도록 플러그인을 설정할 수 있으며, 예를 들어 내부 링크만 사용하도록 허용하고, POST 및 GET 리디렉션을 제어하고, 필요한 경우 외부 리디렉션 파일을 사용하고, 권한 수준을 선택하여 이 플러그인을 제어할 수 있는 사람을 선택할 수 있습니다. .
로그인, 로그아웃 및 등록 리디렉션을 관리해야 하는 경우 Peter의 로그인 리디렉션이 필요한 모든 것을 제공합니다. 오, 예, 플러그인이 무료라고 언급했습니까? WordPress 플러그인 저장소에서 다운로드하여 몇 초 안에 설치할 수 있습니다. 그 후 설정 -> 로그인/로그아웃 리디렉션으로 이동하기만 하면 됩니다.
로그아웃 후 WordPress 사용자를 리디렉션하는 방법
기본적으로 사용자가 WordPress 웹사이트에서 로그아웃하면 로그인 페이지로 돌아갑니다. 사용자에게 성공적인 로그아웃을 알리는 메시지가 표시되고 나머지 탐색은 사용자에게 맡겨집니다.
그러나 사용자가 자동으로 홈페이지, 토론 페이지 또는 관심 있는 다른 페이지로 리디렉션되도록 하려면 어떻게 해야 합니까? 특별한 위젯을 포함하거나 사용자를 다른 곳으로 안내하는 다른 로그아웃 페이지를 만들고 싶습니까? 그렇다면 모든 일이 일어나도록 하려면 이 작은 코드가 필요합니다.
다음 몇 줄에서는 사용자를 원하는 URL로 쉽게 리디렉션하는 방법을 보여 드리겠습니다. 리디렉션에 코드를 사용하지 않으려면 이 모든 작업을 수행할 수 있는 간단한 플러그인을 보여 드리겠습니다. 하지만 그 전에 사용자를 홈페이지로 리디렉션해 보겠습니다.
- functions.php 파일 열기
- 다음 코드를 복사하여 붙여넣습니다.
add_action('wp_logout','auto_redirect_after_logout');
함수 auto_redirect_after_logout(){
wp_redirect( home_url() );
출구();
}
- 변경 사항을 저장하다
- 로그아웃하고 아름다운 홈페이지를 즐기세요
그것은 간단합니다. 코드에서 짐작할 수 있듯이 세 번째 줄을 변경하여 사용자를 다른 URL로 리디렉션할 수 있습니다 . 따라서 사용자를 사이트의 다른 페이지나 외부 페이지로 유도하려면 코드가 다음과 같아야 합니다.
add_action('wp_logout','auto_redirect_after_logout');
함수 auto_redirect_after_logout(){
wp_redirect( 'http://www.firstsiteguide.com');
출구();
}
wp_redirect 기능으로 더 많은 작업을 수행하려면 WordPress Codex 페이지에서 이에 대해 자세히 알아볼 수 있습니다.
로그인 및 로그아웃 리디렉션
가격: 무료

이 무료 플러그인은 비교적 간단하며 완벽하게 작동합니다. 코드를 처리하는 대신 로그인 및 로그아웃 리디렉션은 설정 페이지에 추가 세그먼트를 생성합니다. 설치 및 활성화한 후 설정 -> 일반 으로 이동하여 페이지 끝까지 스크롤해야 합니다 . 여기에서 로그인 및 로그아웃 리디렉션을 위한 별도의 입력 상자를 찾을 수 있습니다. 원하는 URL을 입력하고 변경 사항을 저장하면 완료됩니다!
WordPress 웹 사이트에 대한 더 많은 리디렉션 옵션이 필요한 경우 게시물, 페이지, 카테고리, 태그 또는 사용자 정의 URL을 리디렉션하는 데 도움이 될 수 있는 5sec 리디렉션 플러그인을 확인하는 것이 좋습니다. 그것은 당신이 당신의 방문자로부터 제휴 링크 또는 URL을 숨기기에 좋은 일이 될 수있는 URL 을 숨길 수 있습니다. 플러그인은 또한 사이트에서 무슨 일이 일어나고 있는지 알 수 있도록 각 리디렉션된 링크에 대한 통계를 보여줍니다.
댓글을 남긴 후 사용자 리디렉션
기사를 게시하기 시작하면 물론 사람들이 기사에 댓글을 달기를 원할 것입니다. 가이드의 이 부분에서는 댓글을 제출한 후 사용자를 리디렉션하는 방법을 보여드리겠습니다.
이 기능은 특정 상황에서 유용할 수 있습니다. 예를 들어, 조직하고 있는 경품에 대한 사용자 정의 "감사" 페이지를 만들 수 있습니다 . 따라서 방문자가 댓글을 남겨 경품 행사에 참여할 때 경품에 대한 추가 정보를 제공할 수 있는 "감사합니다" 페이지로 쉽게 리디렉션할 수 있습니다.

댓글을 남긴 후 사용자를 리디렉션하는 데에는 실제로 여러 가지 이유가 있으므로 더 이상 고민하지 않고 프로세스를 자동화하기 위해 수행해야 하는 작업은 다음과 같습니다.
의견 제출 후 사용자 리디렉션:
- functions.php 파일 열기
- 이 코드를 복사하여 파일에 붙여넣습니다.
함수 redirect_after_comment(){ wp_redirect('/감사합니다/'); 출구(); } add_filter('comment_post_redirect', 'redirect_after_comment');
- 두 번째 줄에서 페이지 이름 변경
- 변경 사항을 저장하다
그게 다야 이제 계속해서 기능을 테스트할 수 있습니다. 게시물을 열고 댓글을 남겨주세요. 모든 작업을 올바르게 수행했다면 http://www.yoursite.com/thank-you 페이지 또는 코드의 두 번째 줄에 지정된 페이지로 이동해야 합니다.

댓글을 달아주신 분들께 감사의 인사를 전하는 것도 잊지 말고 방문자가 사이트에 머물면서 탐색을 계속할 수 있기를 바랍니다. 최근 또는 가장 인기 있는 게시물 목록을 추가하거나 댓글 작성자가 관심을 가질 수 있는 모든 관련 게시물을 나열하는 것이 좋습니다. 메일링 리스트가 있다면 구독을 제안하기에 좋은 곳입니다.
이 기능은 사용자가 댓글을 남긴 후 쉽고 빠르게 리디렉션하는 방법을 제공하지만 몇 가지 추가 기능을 제공하는 플러그인에 관심이 있을 수 있습니다.
하나의 결과만 발견된 경우 검색 후 사용자 리디렉션
더 많은 수의 기사를 처리하는 경우 검색 기능은 필수입니다. 매일 글을 쓴다면 다양한 카테고리에 흩어져 있는 기사의 수를 상상해 보십시오. 하루에 단 3개의 짧은 기사만 게시하면 첫 해가 지나면 데이터베이스에 천 개가 넘는 다른 제목이 있게 됩니다. 이제 특정 항목을 찾는 동안 사이트에 처음 방문하는 자신을 상상해 보십시오. 검색하고 싶을 것입니다.
기본적으로 WordPress는 게시물 제목, 태그 및 물론 콘텐츠를 검색합니다. 따라서 단어나 특정 구문을 검색하면 해당 검색어가 포함된 수십 개의 게시물과 페이지를 찾을 수 있습니다. 하지만 검색 결과가 하나뿐이라면 어떻게 될까요?
누군가가 매우 구체적인 구 또는 전체 문장을 검색하는 경우 결과는 몇 개 또는 한 개일 수도 있습니다. 검색된 결과가 하나뿐인 경우 사용자를 검색 결과 페이지로 리디렉션하는 것은 매우 불필요 합니다. 대신, 그 사용자를 결과에서 찾은 게시물/페이지로 직접 이동하지 않는 이유는 무엇입니까?
방법을 살펴보겠습니다.
- 함수.php를 엽니다.
- 이 코드를 복사하여 파일 끝에 붙여넣습니다.
add_action('템플릿_리디렉션', 'redirect_search_result); 함수 리디렉션_검색_결과() { if (is_search()) { 전역 $wp_query; if ($wp_query->post_count == 1 && $wp_query->max_num_pages == 1) { wp_redirect( get_permalink( $wp_query->게시물['0']->ID ) ); 출구; } } }
- 변경 사항을 저장하다
새로운 기능을 위해 WordPress를 준비했습니다. 변경 사항을 저장한 후 사용자가 하나의 결과만 반환하는 항목을 검색할 때마다 해당 사용자는 게시물/페이지로 직접 리디렉션됩니다.
별 것 아닌 것 같아도 방문자는 버튼 클릭 한 번으로 귀하를 좋아할 것입니다. 여기에 클릭을 저장하고 거기를 클릭하면 더 나은 사용자 경험을 얻을 수 있으며 웹사이트에서 원하는 것이겠죠?
카테고리에 게시물이 하나만 있는 경우 사용자 리디렉션
하나의 결과만 포함하는 카테고리 또는 태그 페이지를 여는 대신 해당 사용자를 게시물/페이지로 직접 리디렉션할 수 있습니다. 대부분의 코드 조각과 마찬가지로 코드를 복사하여 붙여넣는 것만으로도 충분합니다.
카테고리 또는 태그에 게시물이 하나만 있는 경우 사용자를 리디렉션합니다.
- functions.php 파일 열기
- 다음 코드를 복사하여 붙여넣습니다.
함수 리디렉션_to_post(){
전역 $wp_query;
if( is_archive() && $wp_query->post_count == 1 ){
the_post();
$post_url = get_permalink();
wp_redirect( $post_url );
}
} add_action('템플릿_리디렉션', '리디렉션_to_post');
- 변경 사항을 저장하다
코드 작업을 완료하고 변경 사항을 저장한 후에는 게시물/페이지가 하나만 포함된 카테고리 또는 태그 페이지를 열어 기능을 테스트할 수 있습니다. 하나의 게시물/페이지만 표시되는 페이지를 여는 대신 게시물로 직접 리디렉션됩니다 . 굉장하지, 그렇지?
일부 사용자는 이로 인해 혼란스러워 할 수 있으므로 사용자에게 단 하나의 결과만 발견되었으며 리디렉션이 발생했음을 알리는 사용자 정의 메시지를 포함하는 것이 좋습니다. 그렇게 하려면 간단한 "echo" 문을 삽입하여 사용자가 리디렉션된 게시물/페이지 상단에 메시지를 남길 수 있습니다. 이 경우 코드는 다음과 같습니다.
함수 리디렉션_to_post(){ 전역 $wp_query; if( is_archive() && $wp_query->post_count == 1 ){ the_post(); $post_url = get_permalink(); wp_redirect( $post_url ); } echo "하나의 결과만 찾았으므로, 이 게시물/페이지로 리디렉션되었습니다!"; } add_action('템플릿_리디렉션', '리디렉션_to_post');
이제 메시지가 구현되었으므로 작업이 완료되었으며 하나의 게시물/페이지만 포함하는 카테고리와 태그를 처리할 필요가 없습니다. 그러나 이 기능이 해당 범주에 새 기사를 작성하지 않는 것에 대한 변명으로 삼지 마십시오.
WordPress의 임의 페이지로 사용자 리디렉션
이것은 모든 워드프레스 웹사이트의 표준 기능이 아닐 수도 있지만, 사이트 어딘가에 있는 재미있는 도구가 될 수 있습니다. 글을 많이 쓰거나 갤러리가 많을 경우 일반 사용자가 볼 수 없는 수천 페이지가 될 수 있습니다 . 그렇다면 사용자를 임의의 게시물로 리디렉션하여 상황을 좀 더 흥미롭게 만들지 않겠습니까?
물론 사용자도 모르게 임의의 게시물로 사용자를 리디렉션하거나 홈페이지에서 그렇게 하지 않을 것입니다. 그러나 사용자가 클릭하면 사이트의 다른 페이지로 이동할 수 있는 간단한 버튼이나 링크를 만들 수 있습니다. 아마도 갤러리일 것입니다. 아마도 당신이 몇 년 전에 쓴 멋진 사설일 것입니다. 누가 알아. 재미있을 수 있습니다.
시작하자:
- 먼저 리디렉션 링크를 준비해야 합니다. functions.php 파일을 엽니다.
- 다음 코드를 복사하여 붙여넣습니다.
add_action('초기화','random_add_rewrite');
함수 random_add_rewrite() {
글로벌 $wp;
$wp->add_query_var('무작위');
add_rewrite_rule('무작위/?
- 변경 사항을 저장하다
- www.yourdomain.com/?random=1로 이동합니다.
, 'index.php?random=1', '상단'); } add_action('템플릿_리디렉션','랜덤_템플릿'); function random_template() { if (get_query_var('random') == 1) { $posts = get_posts('post_type=post&orderby=rand&numberposts=1'); foreach($post를 $post로) { $link = get_permalink($post); } wp_redirect($link,307); 출구; } }
그런 다음 링크/버튼을 만들 준비가 된 것입니다. http://www.yourdomain.com/?random=1에 링크하기만 하면 사용자가 페이지를 열 때마다 임의의 페이지로 리디렉션됩니다. 새로운 기능을 즐기십시오.
결론으로 리디렉션
조만간 특정 상황에서 특정 사용자를 리디렉션하고 싶을 것입니다. 그럴만한 이유가 있고 방문자가 무언가를 구매하도록 하려는 것이든 로그인 프로세스를 더 편안하게 만들고 싶은 것이든 이 튜토리얼은 리디렉션을 관리하는 데 도움이 될 것입니다.
코딩에 익숙해지면 이를 개선하고 다양한 상황에서도 사용자를 리디렉션할 수 있습니다. 그렇지 않은 경우 이 예가 귀하의 요구 사항을 충족하기에 충분하기를 바랍니다.