게시판 내에서 검색하면 비밀글 내용이 검색됩니다 (설정해도 안되네요)

게시판 내 임의의 문자열을 넣고 그 문자열을 검색한 모습입니다.

맨 아래의 통합검색 옵션에서 제목만 검색허용(내용제외)를 선택하여도, 통합검색 제외를 선택해도 동일하게 검색이 됩니다.

 

비회원은 비밀글이 검색안되고, 관리자(또는 읽기권한이 있는 사람)는 내용이 검색되도록 하고 싶습니다.

(기술적으로 에로사항이 있다면 아예 비회원으로는 검색이 안되게 하고 싶습니다.)

 

해결방안을 부탁드립니다. 감사합니다!

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 검색 시에만 비밀글을 안 보이게 하시려면

    이전에 안내해드린 코드 대신

    아래의 코드로 교체해서 확인해보시겠어요?

    add_filter('kboard_list_where', 'kboard_list_where_20201005', 10, 3);
    function kboard_list_where_20201005($where, $board_id, $content_list){
    	if(kboard_keyword() && !is_user_logged_in() && $board_id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$where .= " AND `secret`!='true'";
    	}
    	return $where;
    }

     

    추가로 설명을 드리자면,

    워드프레스 통합검색은 KBoard 게시판 내 검색과는 다릅니다.

    게시글 작성 시 통합검색은 워드프레스 통합검색 설정입니다.

    KBoard 플러그인에서 워드프레스 통합 검색을 사용하기 위해

    post_type이 kboard로 글(Post)을 등록하고 있습니다.

    고맙습니다.

  • 친절한 설명 감사드립니다. 비밀글 보안이 중요하다보니 검색에는 걸리지 않는게 중요한데

    작성해주신 코드에는 아예 비밀글을 목록에서 가리는 것은 게시판 취지에 맞지 않아서요^^;;

    같은 방식으로 검색시에만 제외시키는 방법은 없을까요?

  • 안녕하세요~^^

    KBoard 플러그인 비밀글은 목록에는 표시되지만

    게시글을 읽기 위해서는 작성자, 관리자 외에는 비밀번호를 입력해야 합니다.

    비회원 사용자에게는 비밀글을 표시되지 않게 하시려면

    아래의 코드를 활용해보세요.

    add_filter('kboard_list_where', 'kboard_list_where_20201005', 10, 3);
    function kboard_list_where_20201005($where, $board_id, $content_list){
    	if(!is_user_logged_in() && $board_id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$where .= " AND `secret`!='true'";
    	}
    	return $where;
    }

    위의 코드에서 $board_id == '1' 부분은 실제 게시판 id로 적용해주세요.

    테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.

    고맙습니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요