게시판이 페이지를 분리하는 중입니다.
리스트 : /inquiry
상세내용 : /inquiry/view
등록,수정 : /inquiry/write
궁금한점은
상세내용 페이지에서 목록으로 가기 링크를 만드는데
상세페이지는
/inquiry/view?mod=document&uid=111 이런식인데
목록으로 가게 하려면 링크를 만드는 필터가 따로 있을까요?
디폴트 스킨을 보면
echo $url->set('mod', 'list')->toString()을 쓰던데
이걸 쓰면
/inquiry/view로 빠지지
/inquiry로 빠지지가 않네요..
안녕하세요~^^
아래 링크 클릭하시면 깃허브 소스코드 저장소로 이동됩니다.
https://github.com/cosmosfarm/KBoard-wordpress-plugin
해당 페이지 보시면 "Clone or download" 버튼이 있습니다.
이 버튼을 누르면 "Download ZIP" 버튼이 보이고 압축파일을 다운로드할 수 있습니다.
PC에 압축파일을 다운로드 한 다음 압축을 해제해보시면 KBoard 게시판과 댓글 모든 플러그인 파일이 있는 것을 확인할 수 있습니다.
kboard 폴더를 FTP로 접속해서 파일을 업로드(덮어쓰기) 해주세요.
※ 파일 업로드(덮어쓰기) 전에 반드시 웹호스팅의 하드와 데이터베이스(DB) 모두 전체 백업해두시길 바랍니다.
깃허브에 올려진 파일은 개발 중인 파일이기 때문에 혹시 문제가 생겼을 때 되돌릴 수 있도록 미리 백업해두세요.
직접 코드를 수정하시려면
FTP로 접속해서 /wp-content/plugins/kboard/class/KBUrl.class.php 파일에
아래의 코드를 찾아서
/**
* 게시글 작성 주소를 반환한다.
* @param int $content_uid
* @return string
*/
public function getContentEditor($content_uid=''){
$content_uid = intval($content_uid);
if($content_uid){
$this->data['uid'] = $content_uid;
$this->data['mod'] = 'editor';
$url = $this->toString();
}
else{
$this->data['mod'] = 'editor';
$url = $this->toString();
}
return apply_filters('kboard_url_content_editor', $url, $content_uid, $this->board);
}
찾은 코드 밑에 아래의 코드를 추가해보시겠어요?
/**
* 게시글 목록 주소를 반환한다.
* @return string
*/
public function getBoardList(){
$this->data['mod'] = 'list';
$url = $this->toString();
return apply_filters('kboard_url_board_list', $url, $this->board);
}
/wp-content/plugins/kboard/skin/사용중인스킨/ 경로에 있는 파일에
아래의 코드를 찾아서
<?php echo $url->set('mod', 'list')->toString()?>
아래의 코드로 교체해보세요.
<?php echo $url->getBoardList()?>
실제 게시글 목록 페이지를 특정 주소로 적용하시려면
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_filter('kboard_url_board_list', 'my_kboard_url_board_list', 10, 2);
function my_kboard_url_board_list($url, $board){
if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
$url = '실제페이지주소';
}
return $url;
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.
고맙습니다.
pageid는 받을 수 없나요?
말씀하신 pageid는 KBoard 쪽 페이지 id를 말씀하시는 건지요?
kboard_pageid 함수를 사용하시면 KBoard 게시글 목록 페이지에서
pageid를 가져올 수 있습니다.
아래의 코드를 활용해보시겠어요?
add_filter('kboard_url_board_list', 'my_kboard_url_board_list', 10, 2);
function my_kboard_url_board_list($url, $board){
if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
$pageid = kboard_pageid();
$url = "실제페이지주소?pageid={$pageid}";
}
return $url;
}
kboard_pageid 함수는 FTP로 접속해서 /wp-content/plugins/kboard/helper/Functions.helper.php 파일에서 확인하실 수 있습니다.
KBoard 플러그인 쪽 pageid가 아닌 워드프레스 페이지 ID를 가져오시려면
get_the_ID 함수를 활용해보시겠어요?
고맙습니다.