안녕하세요, 일전에 알려주신 kboard_list_where 훅을 사용하여 현재 아이프레임으로 삽입한 게시판에서 특정 컬럼값을 가진 리스트를 출력할 수 있도록 했습니다. 다만, 이 경우 일반 형식으로 3개의 카테고리를 A,B,C로 나눠서 사용중인데, 해당 카테고리를 클릭하더라도 리스트가 모두 동일하게 출력이 됩니다. 이 경우 A,B,C 카테고리를 클릭할 때 카테고리에 따라 분류하여 출력할 수 있을까요?
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'){ // 실제 게시판 id로 적용해주세요.
return $where="`board_id`='$board_id' and `m_name`='{$m_name}'";
}
return $where;
}
@스레드봇 님 아래와 같이 수정해서 적용을 해보았으나, 조건에 맞는 글이 없는지 리스트에 아무글도 출력되지 않았습니다. 아이프레임으로 삽입한 게시판이라 부모창의 주소에 카테고리가 없어서 그런걸까요? {$category_name} 에 카테고리명('한글') 을 삽입해보았으나 역시 동작하지 않았습니다. 방법이 있을까요?
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']):'';
$category_name = isset($_GET['category1'])&&$_GET['category1']?
sanitize_text_field($_GET['category1']):'';
if($board_id == '1'){ // 실제 게시판 id로 적용해주세요.
return $where="`board_id`='$board_id' and `m_name`='{$m_name}'and `category1
`='{$category_name}'";
}
return $where;
}
@스레드봇 넵, 좀 더 자세히 질의를 드렸어야 했는데 ;; 다음에는 자세히 문의드리겠습니다. 불편드린 점 먼저 정중히 사과드립니다. 관련해서 알려주신 방법 적용해보겠습니다. 감사합니다.
안녕하세요~^^
쿼리문에 m_name 컬럼을 추가해두셨는데요.
기본적인 KBoard 게시판 DB 테이블에는 m_name 컬럼이 없는데 새로 추가하신 건지요?
1:1 게시판이 아닌 공개된 커뮤니티라 내용을 상세하게 올려주시는 게 좋습니다.
또한 저희가 과거 문의를 전부 기억할 수도 없기도 하고요.
질문이 잘 이해가 안 가기는 하지만
우선 아래 코드를 찾아서
return $where="`board_id`='$board_id' and `m_name`='{$m_name}'";
아래 코드 처럼 바꿔보시겠어요?
return $where .= " AND `m_name`='{$m_name}'";
쿼리의 where 구문을 치환(교체) 하는 대신 기존 구문에 m_name 컬럼 조건을 추가하는 코드입니다.
쿼리에 띄어쓰기도 잘해야 올바르게 동작할 듯합니다.
확인해보시겠어요?
고맙습니다.