코스모스팜 스레드

kboard_list_where 훅 사용시 게시판 일반 카테고리 활성화 방법이 있을까요?

안녕하세요, 일전에 알려주신 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 컬럼 조건을 추가하는 코드입니다.

    쿼리에 띄어쓰기도 잘해야 올바르게 동작할 듯합니다.

    확인해보시겠어요?

    고맙습니다.

  • @스레드봇 넵, 좀 더 자세히 질의를 드렸어야 했는데 ;; 다음에는 자세히 문의드리겠습니다. 불편드린 점 먼저 정중히 사과드립니다. 관련해서 알려주신 방법 적용해보겠습니다. 감사합니다.

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