안녕하세요, 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 입니다.
제가 작성한 코드가 잘못된 건지, 아니면 적용할 수 있는 다른 방법이 여쭤봅니다.
감사합니다.
안녕하세요.
해결하셨다니 다행입니다. ㅎㅎ
저희 제품을 이용하시면서 궁금하시거나 개선이 필요한 부분이 있다면
저희 커뮤니티에 글 남겨주시면 최대한 도움을 드리겠습니다.
고맙습니다.
게시판 혹은 테마 혹은 페이지 등에서 무엇인가 꼬였나봅니다.
게시판 삭제 후 재생성하니 문제없이 잘됩니다^^
멋진 플러그인 개발/배포해주시고, 시간내어서 Q&A도 꼼꼼하게 작성해주셔서 진심으로 감사드립니다.
Q&A로 인한 db가 오랫동안 워낙 많이 쌓이니까 구글링 검색하면 왠만한 KBoard 문서는 다있는 것 같습니다.
지금처럼 한국형 워드프레스 게시판으로 오래가길 기원합니다!!
감사합니다.
멀티 사이트 환경에서 특정 페이지 게시판에서만
설정에 상관없이 게시글 목록 페이지를 표시하시려면
기존의 코드는 지우신 후
아래의 코드를 활용해보세요.
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 이런 식으로 표시됩니다.
고맙습니다.
KBoard 플러그인은 멀티 사이트를 지원하고 있으며
실제 저희 쪽에서 멀티 사이트 환경에서 테스트해봤지만 정상적으로 작동하는 것을 확인했습니다.
메인 사이트와 멀티 사이트는 같은 테마를 사용 중이신지요?
멀티 사이트에 적용된 테마 쪽 functions.php 파일에
코드를 추가하셨는지 다시 한번 확인해보시겠어요?
고맙습니다.
답변 진심으로 감사합니다.
is_page('1') 코드를 is_page('75539') 혹은 is_page(75539) 혹은 is_page('aaa')로도 해보았으나 작동이 되질않네요.
다른 워드프레스 사이트에서는 테스트해보니 정상적으로 소스가 먹힙니다.
작동이 되질않는 사이트는 '멀티사이트'로 제작하였는데 호환성 문제 때문에 안되고 있는 듯 합니다.
이경우에 적용할 수 있는 방법이 없을까요?
감사합니다.
안녕하세요~^^
올려주신 코드대로 적용하신다면
게시판 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를 찾는 방법은
아래 링크를 참고해주세요.
고맙습니다.