코스모스팜 스레드

특정 컬럼의 글만 불러오기

안녕하세요, 스레드봇님. 늘 피드백 주셔서 감사드립니다. 케이보드 테이블: wp_kboard_board_content 에 m_name 이라는 컬럼을 생성해서 사용중입니다. 이 때 m-name 은 사용자별로 하나의 값만을 가지게 됩니다.

만약 '홍길동' 이라는 유저의 m_name이 'hong' 일 때, 게시판 사용 시 'hong' 에 해당되는 글만 보여줄 수 있는 방법이 있을까요? 게시판은 하나의 게시판만을 사용중입니다.

 

무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)
무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)
  • 안녕하세요~^^

    KBoard 플러그인 kboard_board_content 테이블에 직접 컬럼을 추가하신 건지요?

    kboard_list_where 필터를 활용하시면

    게시글 목록 페이지에서 게시글을 가져오는 DB쿼리문의 WHERE절을 편집할 수 있습니다.

     

    추가하신 m_name 컬럼이 hong인 게시글만 표시되게 하시려면

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에

    아래의 코드를 추가해보시겠어요?

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

     

    m_name 컬럼의 값을 주소에서 받아오시려면 $_GET 변수를 활용해보시겠어요?

    예제 코드는 아래와 같습니다.

    add_filter('kboard_list_where', 'my_kboard_list_where', 10, 3);
    function my_kboard_list_where($where, $board_id, $content_list){
    	$m_name = isset($_GET['m_name'])&&$_GET['m_name'] ? sanitize_text_field($_GET['m_name']) : '';
    	
    	if($board_id == '1' && $m_name){ // 실제 게시판 id로 적용해주세요.
    		$where .= " AND `m_name`='{$m_name}'";
    	}
    	
    	return $where;
    }

    위의 코드를 적용하신 후 게시판주소/?m_name=hong 이런 식으로 테스트해보시겠어요?

    고맙습니다.

  • @스레드봇 알려주신 방법을 적용하였으나, 현재 플로우가 복잡해서 적용이 잘 안되는것 같습니다. 이 방법 말고 다시 문의 글 작성하여 여쭤보겠습니다. 감사합니다.

이미지 사진은 imgur에 업로드한 뒤 링크 걸어주세요.
무제한으로 웹사이트를 만드세요. (코스모스팜 무제한 라이센스)