어떤 페이지를 회원관리 플러그인을 써서 관리자와 편집자만 볼 수 있게 페이지 제한을 했어요.
그리고 게시판에서 쓰기, 읽기 권한을 관리자와 편집자에게만 주었고요. 메뉴도 플러그인으로 감추었어요.
그런데 공지와 최신글 위젯에서 리스트에 뜨는데, 이것도 감추고 싶어요.
즉 제한한 페이지의 메뉴, 글, 목록 모두 관리자와 편집자가 로그인했을 때만 볼 수 있게 하려는 겁니다.
위젯에서 목록에 노출되는것을 감출 수 있을까요?
안녕하세요~^^
KBoard 플러그인에서 kboard_list_where 필터를 사용하시면
일반 게시글 목록 페이지 또는 최신글 쪽의
게시글 목록을 가져오는 DB쿼리문의 WHERE절을 편집할 수 있습니다.
KBoard 위젯 플러그인을 사용 중이시라면
kboard_widget_list_where 필터를 사용해서
게시글 목록을 가져오는 DB쿼리문 WHERE절을 편집하실 수 있습니다.
KBoard 플러그인 최신글 숏코드를 사용 중이신지
KBoard 위젯 플러그인을 사용 중이신지 알려주시면
도움 드릴 방법을 찾아보겠습니다.
고맙습니다.
안녕하세요.
KBoard 위젯 플러그인에서 공지사항, 최신글 탭을 사용 중이신지요?
공지사항, 최신글 탭의 게시글을 워드프레스 관리자 역할과 편집자 역할에만 표시하시려면
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_filter('kboard_widget_list_where', 'my_kboard_widget_list_where', 10, 5);
function my_kboard_widget_list_where($where, $value, $limit, $exclude, $with_notice){
if(in_array($value, array('notice', 'latest'))){
$user_id = get_current_user_id();
$user = new WP_User($user_id);
if(!in_array('administrator', $user->roles) && !in_array('editor', $user->roles)){
$where = '1=0';
}
}
return $where;
}
워드프레스 역할과 권한에 대한 자세한 내용은
아래의 링크를 참고해보세요.
https://wordpress.org/support/article/roles-and-capabilities/
고맙습니다.
안녕하세요.
테마 쪽 functions.php 파일에 코드 추가 시 사이트가 정상적으로 로드되지 않는다면
디버그 모드를 활성화해서 에러 메시지가 표시되는지 확인해보시겠어요?
고맙습니다.
이제 되긴 하는데 모든 공지와 최신글이 아니라 특정게시판만 적용하려고 하는거라서 다시한번 부탁드립니다.
예를 들어 id 1번과 2번, 3번 게시판만 적용되는 경우라면 어떻게 할까요?
안녕하세요~^^
특정 게시판만 적용하시려면 기존 코드 대신
아래의 코드로 교체해서 확인해보시겠어요?
add_filter('kboard_widget_list_where', 'my_kboard_widget_list_where', 10, 5);
function my_kboard_widget_list_where($where, $value, $limit, $exclude, $with_notice){
if(in_array($value, array('notice', 'latest'))){
$user_id = get_current_user_id();
$user = new WP_User($user_id);
if(!in_array('administrator', $user->roles) && !in_array('editor', $user->roles)){
$where .= " AND `board_id` NOT IN('1', '2', '3', '4', '5')";
}
}
return $where;
}
위의 코드 중 ('1', '2', '3', '4', '5') 부분을 각 게시판 id로 교체해서 확인해보세요.
고맙습니다.