KBOARD 컨택폼을 커스트마이징하여 사용자 폼을 작성하였습니다.
로그인 사용자는 컨택폼을 입력하고, 자신이 입력한 폼을 게시판 형태로 볼 수 있게끔 하고
관리자는 다수의 로그인 사용자 작성한 컨택폼을 게시판 형태로 볼 수 있었으면 합니다.
컨택 스킨의 functions.php를 수정하여
관리자 일경우 컨택폼에 의해 작성된 내용을 게시판 형태로 보는 것은 알겠는데...
작성자가 작성한 것만 게시판 형태로 보여지게 할 수 있는 방법은 없을까요?
방법을 알려주시면 감사하겠습니다.
참고로 전 개발 경험은 전무하고, 단지 플러그인 조합으로 워드프레스를 다룰 줄 아는 정입니다.
안녕하세요~^^
A페이지와 B페이지가 있다고 가정하고 설명하겠습니다.
A페이지에는 컨택트폼이 들어가고
B페이지에는 자신이 등록한 목록이 표시되는 것을 원하신다면 아래와 같이 해보세요.
1. A페이지, B페이지에 모두 게시판 숏코드를 삽입해서 게시판을 표시해주세요.
B페이지는 목록이 표시되기 때문에 게시판 숏코드 말고 자동설치를 사용하셔도 될 듯합니다.
2. 아래 코드를 테마의 functions.php 파일에 추가해주세요.
B페이지의 ID값을 게시판 숏코드가 삽입된 페이지 ID 값으로 입력해주세요.
이렇게 하시면 B페이지에서는 게시판 목록이 표시될겁니다.
add_filter('kboard_default_build_mod', 'my_kboard_default_build_mod', 10, 2);
function my_kboard_default_build_mod($default_build_mod, $board_id){
global $post;
if($post->ID == '1'){ // 게시판 숏코드가 삽입된 페이지 ID
$default_build_mod = 'list'; // 게시판 목록을 보여주도록 설정
}
return $default_build_mod;
}
add_filter('kboard_skin_file_path', 'my_kboard_skin_file_path', 10, 5);
function my_kboard_skin_file_path($current_file_path, $skin_name, $file, $vars, $skin){
global $post;
if($post->ID == '1'){ // 게시판 숏코드가 삽입된 페이지 ID
if($skin_name == 'contact-form' && $file == 'list.php'){
$skin_list = $skin->getList();
$current_file_path = "{$skin_list[$skin_name]->dir}/admin-{$file}";
}
}
return $current_file_path;
}
3. 게시판 권한설정에서 읽기권한, 쓰기권한을 로그인 사용자 이상으로 바꿔주세요.
그리고 리스트 보기 설정을 본인의 글만 보기로 바꿔주세요.
이렇게 하시면 B페이지에서 작성자가 작성한 것만 게시판 형태로 볼 수 있습니다.
맞춤 제작이 아니기 때문에 버그가 있을 수 있습니다.
해보시고 알려주시겠어요?
고맙습니다.