안녕하세요.
특정 페이지를 생성한 뒤, 예를들어 https://www.oppadu.com/boardhistory?target_uid=1 와 같이 뒤에 유저아이디 쿼리를 달아 해당 유저가 작성했던 전체 게시글 목록을 출력할 수 있을까요?
케이보드 플러그인의 소스를 수정하면 가능할 것 같은데, 예전 스레드를 검색해도 관련 내용이 없어서요 ㅜㅜ;
혹시 제가 못찾는 건가 싶어 문의를 드립니다..
또는 플러그인의 특정 파일을 참고하면 구현이 가능할 것 같기도 한데요.. 실례가 안된다면 어떤 부분을 참고하면 좋을 지 조언을 구하고자 합니다.
항상 친절한 답변 주셔서 진심으로 감사드립니다.
이전 댓글에 안내해드린 코드는
1번 게시판에 target_uid 값으로 넘어온 사용자의 게시글을 표시하는 방법입니다.
특정 사용자의 1번 게시판 전체게시글 목록을 1번 게시판으로 출력하는 것은 아닙니다.
특정 사용자의 1~4번 게시판 전체 게시글 목록을 5번 게시판에 표시되게 하시려면
$board_id == '1' 부분을 $board_id == '5'로 적용해주시면 됩니다.
고맙습니다.
안녕하세요.
빠른 답변 대단히 감사드립니다.
아직 코드를 적용해보진 않았지만, 적어주신 명령문은 '특정 사용자의 1번 게시판 전체게시글 목록을 1번 게시판으로 출력하는 것' 으로 이해했습니다.
하지만 구현하고자 하는 방식이 조금 달라서요..
예를 들어 현재 1~4번 게시판이 현재 있는 상황에서, 5번 게시판(1~4게시글 모음 출력을 위한 dummy)을 추가로 만든 뒤, Where 절을 활용해서 특정 사용자의 1~4번 게시판 전체 게시글 목록을 5번 게시판에 보여줄 수 있을까요?
댓글로 답변 주시기 어려운 내용이라면 어느 부분을 참고하면 좋을지 정도로만 조언해주셔도 큰 도움이 될 것 같습니다 ㅜㅜ;
방향만 제시해주시면 스스로 찾아서 해결해보도록 하겠습니다.
감사합니다.
안녕하세요~^^
kboard_list_where 필터를 활용하시면
게시글 목록을 가져오는 DB쿼리문의 WHERE절을 편집할 수 있습니다.
KBoard 게시판에서 올려주신 주소에 따라 특정 사용자가 작성된 게시글을 표시되게 하시려면
아래의 코드를 활용해보시겠어요?
add_filter('kboard_list_where', 'kboard_list_where_20201008', 10, 3);
function kboard_list_where_20201008($where, $board_id, $content_list){
$user_id = isset($_GET['target_uid']) ? esc_sql($_GET['target_uid']) : '';
if($user_id && $board_id == '1'){ // 실제 게시판 id로 적용해주세요.
$where = "`member_uid`='{$user_id}' AND `parent_uid`='0' AND `notice`='' AND (`status`='' OR `status`='pending_approval')";
}
return $where;
}
위의 코드에서 $board_id == '1' 부분은 실제 게시판 id로 적용해주세요.
테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.
고맙습니다.