코스모스팜 스레드

게시판 페이지 분리 후 목록가기 링크 문의

게시판이 페이지를 분리하는 중입니다.

 

리스트 : /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 함수를 활용해보시겠어요?

    고맙습니다.

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