워드프레스 사이트에서 로그인해야 콘텐츠를 볼 수 있도록 접근을 제한하는 방법

워드프레스 정보를 제공하는 블로그 Avada 2024. 8. 14. 16:58 • 댓글:

워드프레스 사이트에서 로그인 사용자만 전체 사이트 또는 일부 페이지나 글에 접근하도록 제한하고 싶은 경우가 있을 수 있습니다. 이런 상황에서 얼티밋 멤버(Ultimate Member)와 같은 멤버십 플러그인을 사용하면 편리합니다. UM을 사용하면 정교하게 콘텐츠 액세스 제한을 설정할 수 있습니다.

이 글에서는 Ultimate Member 회원제 플러그인 또는 Force Login 플러그인을 사용하거나  사용자 코드를 추가하여 콘텐츠 접근을 제한하는 방법에 대하여 살펴보겠습니다.

워드프레스 사이트에서 로그인해야 콘텐츠를 볼 수 있도록 접근을 제한하는 방법

얼티밋 멤버(Ultimate Member) 플러그인 사용

Ultimate Member (UM)이나 WP-Members와 같은 멤버십 전용 플러그인을 사용하면 사이트를 회원제 사이트로 만들 수 있습니다.

기능이 많기 때문에 이러한 플러그인을 기능을 충분히 활용할 수 있다면 좋은 선택일 수 있습니다.

사이트 전에 액세스를 제한하고 싶은 경우 Ultimate Member » 설정 » 액세스 탭으로 이동하여 글로벌 사이트 액세스 옵션을 "로그인된 사용자가 접근 가능"으로 설정하시기 바랍니다. 

다음 URL 제외에서 접근 제한이 적용되지 않는 URL을 등록할 수 있습니다. 

홈페이지를 접속가능 하도록 허락 옵션을 체크하면 홈페이지(전면 페이지)는 누구나 접속이 가능하게 됩니다.  (여기에서 "허락"은 "허용"으로 번역되면 더 자연스러울 것 같습니다.)

이 옵션의 체크를 해제하면 전면 페이지에 대한 접근도 제한됩니다.

전체 사이트 레벨에서 접근을 제한하는 대신, 특정 글이나 페이지에 대하여 접근 제한을 설정할 수도 있습니다. 접근을 제한할 글/페이지의 편집 화면에서 아래 그림과 같이 설정하면 로그인 사용자만 해당 게시물에 접근할 수 있게 됩니다.

접근 제한 글/페이지에 접속하게 되면 로그인 페이지가 표시됩니다. 

워드프레스 사이트에서 로그인해야 콘텐츠를 볼 수 있도록 접근을 제한하는 방법

로그인 페이지는 UM 로그인 페이지입니다. 로그인 페이지에서 헤더와 푸터, 사이드바 등 모든 요소를 제거하고 싶은 경우에는 다음 글을 참고하시기 바랍니다.

 

얼티밋 멤버 로그인 페이지에 로그인 폼만 표시되도록 하기 (feat. GeneratePress) - 워드프레스 정보

워드프레스로 멤버십 사이트를 운영하려는 경우 Ultimate Member나 WP-Members와 같은 회원제 플러그인을 사용할 수 있습니다. 멤버십 플러그인을 사용하여 모든 콘텐츠 또는 특정 콘텐츠를 회원만 접

www.thewordcracker.com

Force Login 플러그인 사용하기

사이트 전체를 로그인해야 볼 수 있도록 하려는 경우 Force Login 플러그인을 사용하는 것도 고려할 수 있습니다. UM은 종합적인 멤버십 플러그인으로 기능이 많아서 무거운 편입니다. Force Login 플러그인은 강제로 로그인 페이지로 이동하도록 하는 기능만 제공되므로 UM이나 WP-Members와 같은 회원제 플러그인에 비해서는 가벼울 수 있습니다.

조금 복잡하지만 코드를 사용하여 특정 URL에 대해서는 접근 제한을 해제할 수도 있습니다. 자세한 내용은 다음 글을 참고해 보세요.

 

워드프레스 사이트에서 로그인해야 글을 볼 수 있도록 설정하는 방법 - 워드프레스 정보꾸러미

로그인한 사용자만 글을 볼 수 있도록 워드프레스 사이트를 설정하고 싶은 경우가 있습니다. 이 경우 아래에 소개하는 플러그인을 사용하거나 간단한 코드를 사용하여 방문자를 로그인 페이지

www.thewordcracker.com

코드를 사용하여 접근 제한 설정하기

코드를 사용하여 특정 페이지나 글, 특정 카테고리의 글에 대한 접근을 제한하는 것도 가능합니다. 이 방법은 테마의 함수 파일에 코드를 추가해야 하기 때문에 초보자들이 조금 꺼려하는 방법일 수 있지만, 사이트 속도에 미치는 영향을 최소화할 수 있고, 원하는 대로 접근 제한을 설정할 수 있습니다.

예를 들어, 특정 카테고리의 글에 대한 접근을 로그인 사용자가 가능하도록 설정하고 싶은 경우 다음과 같은 코드를 차일드 테마의 함수 파일에 추가하여 테스트할 수 있습니다.

// 특정 카테고리 글에 대한 접근 제한

function restrict_category_access() {
	if (is_single()) {
		$restricted_category_ids = array(123, 456); // 여기서 123과 456을 실제 카테고리 ID로 교체하세요

		$categories = wp_get_post_categories(get_the_ID());

		foreach ($categories as $category) {
			if (in_array($category, $restricted_category_ids)) {
				if (!is_user_logged_in()) {
					wp_redirect(wp_login_url(get_permalink()));
					exit;
				}
				break;
			}
		}
	}
}
add_action('template_redirect', 'restrict_category_access');

사이트의 모든 콘텐츠에 대한 접근을 차단하고 싶은 경우 다음과 같은 코드를 사용할 수 있습니다.

function restrict_entire_site() {
	if (!is_user_logged_in() && !is_page('login') && !is_admin()) {
		wp_redirect(wp_login_url());
		exit;
	}
}
add_action('template_redirect', 'restrict_entire_site');

차일드 테마가 설치되어 있지 않다면 차일드 테마를 만든 후에 차일드 테마(자식 테마) 내의 함수 파일에 상기 코드를 추가하세요. 그렇지 않으면 테마가 업데이트되면서 테마 함수 파일에 추가된 코드나 수정 사항은 모두 사라지게 됩니다.

참고

https://avada.tistory.com/2897

 

엘리멘터 무료 버전 vs. 프로 버전 비교

엘리멘터(Elmentor)는 500만 개가 넘는 사이트에 설치되어 사용되고 있는 인기 워드프레스 페이지 빌더 플러그인입니다. 엘리멘터는 무료 버전과 프로 버전으로 제공됩니다. Elementor 프로 버전에서

avada.tistory.com

https://avada.tistory.com/3046

 

해외웹호스팅: 클라우드웨이즈 vs. 블루호스트 vs. 카페24 비교 (Cloudways vs. Bluehost vs. Cafe24)

저는 오랫동안 블루호스트(Bluehost)를 이용해 왔으며 2021년부터는 클라우드웨이즈(Cloudways) 웹호스팅 서비스도 함께 이용하고 있습니다. 현재 일부 중요하지 않는 블로그는 Bluehost에서 호스팅되고

avada.tistory.com

 

워드프레스 네이버 카페