KBoard에서 게시글 작성 후 페이지 이동(워드프레스)

Last Updated: 2015년 07월 02일 | | 댓글 남기기

워드프레스의 한국형 게시판 플러그인인 KBoard에서 게시글 작성 후 표시되는 화면(페이지)를 변경하는 방법:

예를 들어, 게시판에서 게시글 작성 후에 "Thank you" 페이지가 표시되도록 하고 싶은 경우가 있을 수 있습니다. 이 경우 두 가지 방법을 통해 게시글 작성 후 표시되는 경로를 변경할 수 있습니다.

1) Kboard 소스 파일 수정

FTP로 접속하여 /kboard/class/KBController.class.php 파일을 보면 다음과 같은 코드가 있습니다.

$url = new KBUrl();
$next_page_url = $url->set('uid', $execute_uid)->set('mod', 'document')->toString();
$next_page_url = apply_filters('kboard_after_executing_url', $next_page_url, $execute_uid, $board_id);
wp_redirect($next_page_url);

위에서 $next_page_url 부분을 수정하면 됩니다.

2) kboard_after_executing_url 필터 사용

위의 방법은 추후에 KBoard가 업데이트되면 수정한 부분이 사라지기 때문에 재수정해야 하는 번거로움이 있을 수 있습니다. 더 좋은 방법은 kboard_after_executing_url 필터를 사용하는 것입니다. (http://www.cosmosfarm.com/products/kboard/hooks 참고)

kboard_after_executing_url 필터 부분을 살펴보면:
워드프레스 KBoard 필터

그러면 다음과 비슷한 코드를 테마 함수에 추가하면 KBoard 게시글 작성 후 Thank you 페이지가 표시됩니다.

function kboard_redirected_url_modified( $next_page_url, $execute_uid, $board_id ) {
$thankyou = 'http://www.abc.com/thank-you/';
$next_page_url = $thankyou;
return $next_page_url;
add_filter( 'kboard_after_executing_url', 'kboard_redirected_url_modified', 10, 3 );

위의 코드로 오류가 나면 $url = new KBUrl();을 추가해보세요.  (add_filter에 대해서는 이 글을 참고하시기 바랍니다.)

  • 데모 (양식 제출 후 Thank you 페이지 표시)

댓글 남기기

Leave a Comment