로그인 사용자만 사이트에 접근하도록 제한하는 Force Login 플러그인

회원만 사이트에 접근이 가능하도록 제한하기

워드프레스 사이트를 로그인 사용자만 볼 수 있고 비회원에게는 로그인 페이지로 이동시켜야 하는 경우가 있습니다. 또는 특정 페이지나 글(예: 전면 페이지나 특정 카테고리 글)을 제외한 모든 사이트 컨텐츠를 회원에게만 공개해야 하는 경우도 있을 수 있습니다.

간단히는 다음과 같은 코드를 header.php 파일에 추가하면 됩니다.

<?php if(!is_user_logged_in()){wp_redirect( 'http://www.your-site.com/wp-login' ); exit;}?>

테마 소스 파일을 수정하지 않으려는 경우는 template_redirect 액션과 wp_redirect 함수를 사용할 수도 있습니다.

add_action('template_redirect','wpse_check_if_logged_in');
function wpse_check_if_logged_in()
{
if(!is_user_logged_in())
{
wp_redirect(site_url('/wp-login.php?action=register'));
exit;
}
}
참고: stackexchange

반드시 차일드 테마를 만들어서 작업하시기 바랍니다. 그렇지 않으면 수정 사항이 모두 사라지게 됩니다. 차일드 테마에 대한 자세한 내용은 여기를 참고해보세요.

Force Login 플러그인을 사용하여 사이트 접근 제한하기

Force Login이라는 플러그인을 사용하면 사이트 전체에 대한 접근을 쉽게 제한할 수 있습니다.

워드프레스 Force Login 플러그인

이 플러그인을 사용하면 방문자들이 로그인해야 워드프레스 사이트를 볼 수 있습니다.

사이트 공사 중이거나 회원 이외에는 사이트를 볼 수 없도록 비공개로 운영할 경우에 유용합니다.

이 플러그인을 사용할 경우 특정 페이지에 대해서는 누구나 볼 수 있도록 제외시킬 수 있습니다. 다음과 같은 후크를 사용하면 됩니다.

function my_forcelogin_bypass( $bypass ) {
if ( is_single() ) {
$bypass = true;
}
return $bypass;
}
add_filter('v_forcelogin_bypass', 'my_forcelogin_bypass', 10, 1);

참고로 특정 페이지나 글만 제한하고자 하는 경우에는 이 플러그인이 적당하지 않습니다. 이 플러그인은 전체 사이트를 회원만 볼 수 있도록 제한(단, 특정 페이지/글은 누구나 볼 수 있도록 설정 가능)하는 데 적합합니다.

로그인 후 리디렉션은 다음과 같은 코드를 사용할 수 있습니다.

function my_forcelogin_redirect() {
return site_url( '/mypage/' );
}
add_filter('v_forcelogin_redirect', 'my_forcelogin_redirect', 10, 1);

참고:

일부 글에 제휴 링크가 포함될 수 있으며 파트너스 활동으로 일정액의 수수료를 받을 수 있습니다.

댓글 남기기

* 이메일 정보는 공개되지 않습니다.