회원가입시 입력한 값을 케이보드 입력필드 기본값으로 불러오는 방법

안녕하세요.

코스모스팜 회원관리 플러그인 및 케이보드 이용중입니다.

회원가입시 입력한 값을  케이보드 입력필드 기본값으로 불러오려고 합니다.

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 인 회원정보를 불러오는 방법이 궁금합니다. 

     

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기