[워드프레스] 홈페이지 접속 시 특정 URL 또는 카테고리로 리디렉션시키기

들어가며

워드프레스로 만든 사이트에서 홈페이지 접속 시 특정 페이지, 특정 URL 또는 특정 카테고리 등으로 리디렉션시키고자 하는 경우가 발생할 수 있습니다.

여러 가지 방법이 가능합니다. 직접 header.php 파일에 리디렉션 코드를 삽입하는 것도 생각해볼 수 있습니다. 여기서는 template_redirect 후크를 사용하여 리다이렉션시키는 방법을 생각해보겠습니다. 이 방법을 사용하면 테마 소스 파일을 수정하지 않아도 됩니다.

특정 페이지로 리디렉션시키기

우선 페이지인 경우에는 설정 > 읽기에서 전면 페이지 표시정적인 페이지로 설정하여 간단히 해결할 수 있습니다.

읽기 설정에서 전면 페이지에 사용할 페이지를 설정할 수 있습니다.
읽기 설정에서 전면 페이지에 사용할 페이지를 설정할 수 있습니다.

특정 카테고리로 리디렉션시키기

홈페이지에 접속했을 때 특정 카테고리가 표시되도록 하고 싶은 경우 template_redirect 액션을 사용할 수 있습니다. 기본적인 사용법은 다음과 같습니다. (template_redirect 액션에 대한 자세한 내용은 WordPress Codex 문서를 참고하세요.)

function my_page_template_redirect()
{
if( is_page( 'goodies' ) && ! is_user_logged_in() ) // 'goodies' 페이지에 게스트가 접속하는 경우
{
wp_redirect( home_url( '/signup/' ) ); // 가입 페이지로 리디렉션시킵니다
exit();
}
}
add_action( 'template_redirect', 'my_page_template_redirect' );

위의 코드를 응용하여 특정 카테고리로 리디렉션시키려면:

function my_category_template_redirect()
{
if( is_home() || is_front_page() ) // 홈 또는 전면 페이지에 접속하는경우
{
$category_link = get_category_link( 14 ); // 카테고리 ID 14
wp_redirect( $category_link ); // 위에서 지정한 카테고리로 리디렉션시킴
exit();
}
}
add_action( 'template_redirect', 'my_category_template_redirect' );

위와 같은 코드를 사용 중인 테마의 함수 파일(functions.php)에 추가하도록 합니다. 함수 파일에 코드를 추가하는 방법은 이 글을 참고해보세요.

특정 URL로 리디렉션시키기

특정 URL로 리디렉션시키는 것도 가능합니다. 이 경우 기본적으로 위의 코드를 사용합니다. 가령 구글로 이동시키려는 경우:

function my_homeexternal_template_redirect()
{
if( is_home() || is_front_page() )
{
$external_link = 'https://www.google.com'; // 구글 URL
wp_redirect( $external_link ); // 위에서 지정한 특정 URL로 리디렉션
exit();
}
}
add_action( 'template_redirect', 'my_homeexternal_template_redirect' );

구글 URL 대신 원하는 URL로 대체하도록 합니다. 원하는 경우 조건문을 변경하여 다양하게 응용할 수 있습니다.


댓글 남기기

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