안녕하세요.
코스모스팜 회원관리 플러그인 및 케이보드 이용중입니다.
회원가입시 입력한 값을 케이보드 입력필드 기본값으로 불러오려고 합니다.
1. wp-members 에서 회원가입필드를 위와 같이 추가했습니다.
$company = $content->option->company ? $content->option->company : get_user_meta($user_id, 'company', true);
$ceo = $content->option->ceo? $content->option->ceo : get_user_meta($user_id, 'ceo', true);
$business_num = $content->option->business_num ? $content->option->business_num : get_user_meta($user_id, 'business_num', true);
2. 그리고 function.php 파일에 위 코드를 추가하고
3. 케이보드 contact-form 입력필드 기본값에 위와같이 코드를 추가했더니 기본값이 그냥 텍스트로 표시되더라고요.
어떻게 해야 입력필드에 값을 불러올 수 있을까요?ㅠㅠ
https://developer.wordpress.org/reference/functions/get_user_meta/
위 사이트를 봐도 어디에 어떤 코드를 추가해야하는지 알 수가 없었습니다.
도움 부탁드립니다! ㅜㅜ
안녕하세요~^^
입력필드 설정에서 하는 필드 추가로는
정보를 가져오는 것이 어렵고 필터를 사용하셔야 합니다.
kboard_skin_fields 필터와 kboard_get_template_field_html 필터를 사용하시면
필드 레이아웃을 수정하실 수 있습니다.
위 필터들은 아래 링크를 참고하여 적용해보시겠어요?
kboard_get_template_field_html 필터를 이용하여 작성한 필드에
get_user_meta 함수를 이용하여 유저의 메타정보를 불러올 수 있습니다.
아래 링크를 참고하여 적용해보시겠어요?
https://developer.wordpress.org/reference/functions/get_user_meta/
고맙습니다.
/* 입력필드 추가 */
add_filter('kboard_skin_fields', 'my_kboard_skin_fields1', 10, 2);
function my_kboard_skin_fields1($fields, $board){
if($board->id == '2'){ // 실제 적용될 게시판 ID 값으로 변경해주세요.
if(!isset($fields['company'])){
$fields['company'] = array(
'field_type' => 'text',
'field_label' => '회사명',
'class' => 'kboard-attr-company',
'hidden' => '',
'meta_key' => '',
'field_name' => '',
'permission' => '',
'roles' => 'array()',
'default_value' => '',
'placeholder' => '',
'required' => '',
'show_document' => '',
'description' => '',
'close_button' => 'yes'
);
}
}
return $fields;
}
add_filter('kboard_get_template_field_html', 'my_kboard_get_template_field_html1', 10, 4);
function my_kboard_get_template_field_html1($field_html, $field, $content, $board){
if($field['field_type'] == 'company'){
ob_start();
?>
<div class="kboard-attr-row meta-key-<?php echo esc_attr($field['meta_key'])?> required">
<label class="attr-name" for="company" style="display:none">
<span class="field-name"><?php echo esc_html($field['field_name'] ? $field['field_name'] : $field['field_label'])?></span>
</label>
<div class="attr-value" style="margin:0;">
<label><input type="text" name="company"></label>
</div>
</div>
<?php
$field_html = ob_get_clean();
}
return $field_html;
}
/* 사용자 정보 가져오기 */
function get_user_meta( $user_id, $key = '', $single = false ) {
return get_metadata( 'user', $user_id, $key, $single );
}
입력필드 추가는 했는데 유저 메타정보 불러오는걸 어떻게 설정하는지 모르겠네요 ㅜ 도움주실 수 있을까요?
메타키가 company 인 회원정보를 불러오는 방법이 궁금합니다.