예를들어 게시글 본문 전에
성함 : ㅇㅇ
이메일 : test@test.com
...
(내용)
이런식으로 회원가입시 입력했던 정보를 보여주고 싶습니다. 이렇게 할 수 있는 방법이 있을까요?
안녕하세요~^^
사용 중이신 KBoard 플러그인의 버전이나 스킨에 따라 코드 적용 방법이 다릅니다.
최신 버전의 KBoard 플러그인에서 기본 스킨(avatar, contact-form, default, thumbnail)을 사용 중이시라면
워드프레스 관리자 -> KBoard -> 게시판 목록 -> 게시판 선택 -> 입력필드 설정 페이지에서
확장 필드 텍스트/숨김 필드 2개를 새로 만들어주세요.
메타키는 user_email, last_name으로 예를 들겠습니다.
2개의 필드의 설정에서 게시글 본문에 표시, 숨김(hidden) 체크박스를 모두 체크해주세요.
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_filter('kboard_document_add_option_value_field_data', 'my_kboard_document_add_option_value_field_data', 10, 4);
function my_kboard_document_add_option_value_field_data($field, $content, $board){
$user_id = $content->member_uid;
$user = get_userdata($user_id);
if(isset($field['meta_key'])&&$field['meta_key'] && $field['meta_key'] == 'user_email'){
$content->option->user_email = $user->user_email;
}
if(isset($field['meta_key'])&&$field['meta_key'] && $field['meta_key'] == 'last_name'){
$content->option->last_name = $user->last_name;
}
return $field;
}
위의 방법을 적용할 수 없는 상황이시라면
FTP로 접속해서 /wp-content/plugins/kboard/skin/사용중인스킨/document.php 파일에
아래의 코드를 찾아서
<?php echo $content->content?>
찾은 코드 위에 아래의 코드를 추가해보시겠어요?
<?php $user = get_userdata($content->member_uid)?>
<?php if($user->user_email):?>
<div>이메일 : <?php echo $user->user_email?></div>
<?php endif?>
<?php if($user->last_name):?>
<div>성함 : <?php echo $user->last_name?></div>
<?php endif?>
get_userdata 함수와 get_user_meta 함수를 사용하시면
회원가입 시 회원이 입력한 email, last_name 이외의 정보도 표시할 수 있습니다.
자세한 내용은 아래의 링크들을 참고해보시겠어요?
https://codex.wordpress.org/Function_Reference/get_userdata
https://codex.wordpress.org/Function_Reference/get_user_meta
KBoard 플러그인에서 게시판에 새로운 필드를 추가하는 방법도 참고해보시겠어요?
고맙습니다.