게시판 기본화면을 글쓰기 설정 후 특정페이지에만 리스트로 보는게 가능할까요?

안녕하세요, KBoard의 스레드봇님.
멋진 플러그인을 개발해주시고 배포해주셔서 진심으로 감사드립니다.
다름이 아니라 게시판 스킨은 default, 게시판 기본화면은 글쓰기 화면으로 설정했습니다.
이후 a.html 페이지에서 숏코드 [kboard id=1]를 삽입해서 KBoard를 노출했습니다.
a.html 페이지는 로딩시 문제없이 Kboard 글쓰기 화면이 나타나고 있습니다.

혹시 b.html 페이지에서만 숏코드 [kboard id=1]를 삽입했을 때 기본으로 나타나는 화면이 글쓰기 화면이 아닌 리스트 화면으로 나타나는게 가능할까요?
워드프레스 필터 기능을 통해 넣었으나 되질않네요.

add_filter('kboard_default_build_mod', 'my_kboard_default_build_mod', 10, 2);
function my_kboard_default_build_mod($mode, $board_id){
    if($board_id == '1' && is_page(1234)){
			$mode = 'list';
    }
	else {
			$mode = 'editor';
    }
    return $mode;
}

is_page에 있는 1234는 b.html 페이지의 body 태그에 있는 class, 즉 page-id-1234의 1234 입니다.
제가 작성한 코드가 잘못된 건지, 아니면 적용할 수 있는 다른 방법이 여쭤봅니다.
감사합니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    올려주신 코드대로 적용하신다면

    게시판 id가 1이면서 페이지 id가 1234인 페이지에서만

    게시글 목록 페이지를 표시하고

    그 외의 게시판 또는 페이지에서는 게시글 작성 페이지를 표시합니다.

    올려주신 코드 대신 아래의 코드를 적용해보시겠어요?

    add_filter('kboard_default_build_mod', 'my_kboard_default_build_mod', 10, 2);
    function my_kboard_default_build_mod($mode, $board_id){
    	if($board_id == '1'){
    		if(is_page('1')){
    			$mode = 'list';
    		}
    		else{
    			$mode = 'editor';
    		}
    	}
    	return $mode;
    }

    위의 코드에서 is_page('1') 부분은 실제 페이지 id로 적용해보세요.

     

    워드프레스에서 페이지 ID를 찾는 방법은

    아래 링크를 참고해주세요.

    워드프레스에서 페이지(포스트) ID를 찾는 방법

    고맙습니다.

  • 답변 진심으로 감사합니다.
    is_page('1') 코드를 is_page('75539') 혹은 is_page(75539) 혹은 is_page('aaa')로도 해보았으나 작동이 되질않네요.

    다른 워드프레스 사이트에서는 테스트해보니 정상적으로 소스가 먹힙니다.
    작동이 되질않는 사이트는 '멀티사이트'로 제작하였는데 호환성 문제 때문에 안되고 있는 듯 합니다.
    이경우에 적용할 수 있는 방법이 없을까요?
    감사합니다.

  • KBoard 플러그인은 멀티 사이트를 지원하고 있으며

    실제 저희 쪽에서 멀티 사이트 환경에서 테스트해봤지만 정상적으로 작동하는 것을 확인했습니다.

    메인 사이트와 멀티 사이트는 같은 테마를 사용 중이신지요?

    멀티 사이트에 적용된 테마 쪽 functions.php 파일에

    코드를 추가하셨는지 다시 한번 확인해보시겠어요?

    고맙습니다.

  • 멀티 사이트 환경에서 특정 페이지 게시판에서만

    설정에 상관없이 게시글 목록 페이지를 표시하시려면

    기존의 코드는 지우신 후

    아래의 코드를 활용해보세요.

    add_filter('kboard_default_build_mod', 'my_kboard_default_build_mod', 10, 2);
    function my_kboard_default_build_mod($mode, $board_id){
    	$blog_id = get_current_blog_id();
    	if($blog_id == '1' && $board_id == '1' && is_page('1')){
    		$mode = 'list';
    	}
    	
    	return $mode;
    }

    위의 코드에서 $blog_id == '1' 부분은 실제 멀티 사이트 id로 적용해주세요.

     

    사이트 id(blog)를 확인하시려면

    워드프레스 관리자 -> 네트워크 관리자 -> 사이트 -> 모든 사이트 페이지에 보시면 사이트 리스트가 있습니다.

    사이트를 클릭하시면 주소창을 확인해보시면 id=1 이런 식으로 표시됩니다.

    고맙습니다.

  • 게시판 혹은 테마 혹은 페이지 등에서 무엇인가 꼬였나봅니다.
    게시판 삭제 후 재생성하니 문제없이 잘됩니다^^

    멋진 플러그인 개발/배포해주시고, 시간내어서 Q&A도 꼼꼼하게 작성해주셔서 진심으로 감사드립니다.
    Q&A로 인한 db가 오랫동안 워낙 많이 쌓이니까 구글링 검색하면 왠만한 KBoard 문서는 다있는 것 같습니다.
    지금처럼 한국형 워드프레스 게시판으로 오래가길 기원합니다!!
    감사합니다.

  • 안녕하세요.

    해결하셨다니 다행입니다. ㅎㅎ

    저희 제품을 이용하시면서 궁금하시거나 개선이 필요한 부분이 있다면

    저희 커뮤니티에 글 남겨주시면 최대한 도움을 드리겠습니다.

    고맙습니다.

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