자기글만 보이도록 세팅 된 게시판에서 특정 아이디(계정)애 전체글 보기만 가능 한지 문의 드립니다.

안녕하세요. 게시판 작업중 문의가 있어 스레드 작성 합니다.

예전 스레드 검색중 

add_filter('kboard_list_where', 'my_kboard_list_where', 10, 2);
function my_kboard_list_where($where, $board_id){
     if(!is_super_admin() && $board_id=='7'){ // ID .
          $user_ID = get_current_user_id();
          return $where . " AND `member_uid`='$user_ID'";
     }

상기 코드를 사용 하여 특정 게시판에 관리자권한일경우 전체글 보기 적용을 하여 사용 중입니다.

추가로 특정 아이디(계정)으로 로그인시 전체글 보기 적용이 가능 할지 문의 드립니다. 글수정이나 삭제 등의 적용은 되지 않고 글보기 기능만 가능 해야 하는 부분이라 문의 드립니다.

 if(!is_admin() && $board_id=='7'){
          $user_ID = get_current_user_id();  -> 이부분에 유저 아이디만 강제로 넣어 주면 가능 할까요?
          return $where . " AND `member_uid`='$user_ID'";
     }

그럼 확인 부탁 드립니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    본문에 코드를 올려주실 땐 반드시 에디터의 코드 스니펫 삽입 기능을 이용해주세요.

     

    KBoard 플러그인 kboard_list_where 필터로 관리자와 특정 사용자만 모든 글을 볼 수 있고

    다른 사용자는 자신이 쓴 글만 게시글 목록 페이지에 표시하고 싶으신 건지요?

    올려주신 코드 대신 아래의 코드로 교체해서 확인해보시겠어요?

    add_filter('kboard_list_where', 'my_kboard_list_where', 10, 3);
    function my_kboard_list_where($where, $board_id, $list){
    	$board = new KBoard($board_id);
    	$user_id = get_current_user_id();
    	$exclude_user_id = '1'; // 실제 사용자 id로 적용해주세요.
    	
    	if($board_id=='1' && !$board->isAdmin() && $user_id != $exclude_user_id){ // 실제 게시판 id로 적용해주세요.
    		return $where . " AND `member_uid`='{$user_id}'";
    	}
    	
    	return $where;
    }

    $exclude_user_id 는 로그인 시 입력하는 id가 아닌 고유한 값(숫자)입니다.

    고맙습니다.

  • 감사합니다. 안내해 주신 코드로 수정 하니 문제없이 적용 되었습니다.

    기존 사용하던 코드가 삭제되었는데 이전 적용하던 부분도 동일하게 적용 되고 있네요.

    항상 감사 드립니다.

이미지 사진은 imgur에 업로드한 뒤 링크 걸어주세요.
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기