게시글 모아보기 질문이요

무료로 이용하면서 항상 질문만 드려서 죄송합니다.

 

01페이지 A게시판, 02페이지의 B게시판, 03페이지의 C게시판, 04페이지의 D게시판 안에 있는 글을 새로운 페이지에 게시판을 만들어서 전체확인이 되게 하려고 하는데 어떻게해야하나요?? 최신글 모아보기를 할경우엔 일반게시판처럼 전체보기가아니라 최신글만 보이더라구요.. 전체게시글이 한게시판안에 보이게 설정하려고 합니다.

위의 방법이나 새로운 페이지에 기본카테고리를 A, B, C, D 로 나눠서 전체게시글을 보이게 하고 01 페이지에 A카테고리의 글만 보이고 게시글도 A카테고리만 가능하게 하려고합니다..

두개다 같은 뜻이긴 하지만 혹시나 싶어서 적습니다

 

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

    "이 게시글은 이동되었습니다." 문구가 표시되는 이유는

    KBoard 플러그인 버전이 업데이트되면서

    허가되지 않은 다른 게시판에서 게시글을 불러오는 것을 차단하는 코드가 추가되었습니다.

    게시판마다 권한 설정이 다른데 게시글을 그냥 불러올 수 있다면 문제가 발생될 수 있기 때문입니다.

    아래 코드를 활용해보시겠어요?

    add_filter('kboard_allowed_board_id', 'kboard_allowed_board_id_20210113', 10, 2);
    function kboard_allowed_board_id_20210113($allowed_board_id, $board_id){
    	if($allowed_board_id == '3'){ // 모아보기 게시판 ID
    		$allowed_board_id = array('3', '1', '2'); // 자신과 다른 게시판의 ID값을 입력
    	}
    	return $allowed_board_id;
    }

    위의 코드에서 $allowed_board_id == '3' 부분은 실제 모아보기 게시판 id로 적용해보세요.

    array('3', '1', '2'); 부분에는 자신과 다른 게시판의 ID값을 입력해보시겠어요?

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

    고맙습니다.

  • 안녕하세요 

    위에 설명해주신 글을 따라 해서 게시물을 모으는데는 성공했습니다. 

    그런데 게시판에서 게시글을 선택하면 다음 이미지 화면과 같이. 위 게시물이 이동되었습니다. 라고 뜨면서 게시글을 확인할 수가 없네요

    https://imgur.com/bs0zgFL

    뭐가 잘못되었을까요?

    확인 부탁드리겠습니다. 

    고맙습니다. 

     

  • 자세한 답변 감사합니다.

  • 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'){
    		$where = "`board_id` IN ('2', '3') AND `parent_uid`='0' AND `notice`='' AND (`status`='' OR `status` IS NULL OR `status`='pending_approval')";
    	}
    	
    	if($board_id == '4'){
    		$where = "`board_id` IN ('5', '6') AND `parent_uid`='0' AND `notice`='' AND (`status`='' OR `status` IS NULL OR `status`='pending_approval')";
    	}
    	
    	return $where;
    }

    또는 아래처럼 함수명을 다르게 해주시면 됩니다.

    add_filter('kboard_list_where', 'my_kboard_list_where1', 10, 3);
    function my_kboard_list_where1($where, $board_id, $content_list){
    	if($board_id == '1'){
    		$where = "`board_id` IN ('2', '3') AND `parent_uid`='0' AND `notice`='' AND (`status`='' OR `status` IS NULL OR `status`='pending_approval')";
    	}
    	
    	return $where;
    }
    
    add_filter('kboard_list_where', 'my_kboard_list_where2', 10, 3);
    function my_kboard_list_where2($where, $board_id, $content_list){
    	if($board_id == '4'){
    		$where = "`board_id` IN ('5', '6') AND `parent_uid`='0' AND `notice`='' AND (`status`='' OR `status` IS NULL OR `status`='pending_approval')";
    	}
    	
    	return $where;
    }

    고맙습니다.

  • 혹시 답변주신 코드를 여러번 사용은 못하나요..?

    같은방식으로 3~4개 정도 만드려고하는데.. 같은 코드로 게시판 id만 변경해서 사용했더니 페이지 접속이안되네요

     

  • 네, 맞습니다.

    아래처럼 적용하시면 개수를 더 추가하실 수 있습니다.

    `board_id` IN ('1', '2', '3', '4', '5')

    고맙습니다.

  • 다시 재확인결과 코드에 ' 하나를 빠뜨리고 썻네요 현재 잘작동되고있습니다 감사합니다 :)

    테스트 코드에는 게시판 2개만 되어있는데 board_id` IN('16', '20') < 이부분 괄호안에 숫자를 계속 추가하면 게시판 갯수상관없이 해당하는 게시판에 모아볼수있나요?

  • 저희 쪽 테스트 서버에서는 문제없었는데 이상하군요.

    id가 16, 20인 게시판에는 기존에 작성된 게시글이 있는지요?

    비회원으로도 확인 가능한 페이지 주소도 알려주시겠어요?

    고맙습니다.

  •  

    답변대로 테마 functions.php파일 최하단에  아래처럼 코드를 추가했는데요 모아보기가 작동되지 않네요.. $board_id =='32' 이건 새로만든 모아보기테스트 게시판이 숏코드 32라서 적었고요 16, 20은 게시글이 있는 게시판의 숏코드 id라서 적었습니다. 그러나 전혀 변한게 없네요 ㅠㅠ 뭐를 잘못한걸까요??

    add_filter('kboard_list_where', 'today_best_kboard_list_where', 10, 3);
    function today_best_kboard_list_where($where, $board_id, $content_list){
        if($board_id == '32'){
            $where = "`board_id` IN ('16', '20') AND `parent_uid`='0' AND `notice`='' AND (`status`='' OR `status` IS NULL OR `status`='pending_approval')";
        }
        
        return $where;
    }

  • 안녕하세요~^^

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

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

    add_filter('kboard_list_where', 'today_best_kboard_list_where', 10, 3);
    function today_best_kboard_list_where($where, $board_id, $content_list){
    	if($board_id == '1'){
    		$where = "`board_id` IN ('2', '3') AND `parent_uid`='0' AND `notice`='' AND (`status`='' OR `status` IS NULL OR `status`='pending_approval')";
    	}
    	
    	return $where;
    }

    위의 코드에서 $board_id == '1' 부분은 새로 만든 게시판의 id로 적용해주시고

    `board_id` IN ('2', '3') 부분은 모아볼 게시판 id로 적용해보시겠어요?

    고맙습니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기