소스 코드를 직접 수정하여 접근을 제한하는 방법을 살펴봅니다.
특정 카테고리 접근 제한
비로그인 사용자가 특정 카테고리의 글에 접근하는 것을 제한하려는 경우 :
<?php
if ( !is_user_logged_in() && in_category( '카테고리 이름' ) ) {
echo '이 글을 보려면 로그인이 필요합니다.';
} else {
the_content();
}
?>
위와 같은 구문을 single.php나 적당한 파일에 삽입하면 게스트 사용자가 접근하는 것을 제한할 수 있다. 만약 모든 카테고리에 접근하는 것을 제한하려면 is_category()
를 사용하면 된다.
특정 페이지 접근 제한
특정 페이지에 대한 접근을 제한하기 위해서는 is_page()
를 이용한다.
<?php
if ( !is_user_logged_in() && is_page( array( 42, 'about-me', 'Contact' ) ) ) {
echo '이 페이지에 접근할 수 없습니다.';
} else {
...
}
?>
is_page() 의 매개변수로 페이지의 ID값, 페이지의 제목, 페이지의 슬러그등을 입력할 수 있다.
회원 역할별로 접근 제한
워드프레스에서 기본적으로 제공하는 역할을 이용하여 접근 제한 코드로 응용할 수 있다.
if( current_user_can( 'administrator' ) ){}
if( current_user_can( 'editor' ) ){}
if( current_user_can( 'author' ) ){}
if( current_user_can( 'contributor' ) ){}
if( current_user_can( 'subscriber' ) ){}
역할을 확장하는 플러그인중에 User Role Editor라는 것이 있다. 이 플러그인을 이용하여 원하는 역할을 생성해서 응용할 수도 있겠다.
if( current_user_can( 'level_1' ) ){}
if( current_user_can( 'level_2' ) ){}
if( current_user_can( 'level_3' ) ){}
참고문헌 및 관련링크.
'워드프레스 > WP 팁&테크' 카테고리의 다른 글
워드프레스 Poedit를 이용한 번역 (0) | 2015.09.14 |
---|---|
워드프레스 번역 이해 (0) | 2015.09.11 |
워드프레스 Permalink - 고유주소 설정 (1) | 2013.09.27 |
워드프레스를 위한 설정 (0) | 2013.07.04 |
워드프레스 접속 주소 변경하기 (6) | 2013.05.03 |