회원정보 페이지의 본인인증 필드 공개 문의

본인인증 활성화 후, WP-Members에서 3가지 필드 추가 하면

회원정보 페이지에서요, 3가지 입력칸이 추가되는데요,

회원에게도 공개되는 것인가요?

본인인증 이름*, 본인인증 성별*, 본인인증 생일*

 

원래 본인인증 하면, 회원정보 페이지에는 3가지 필드는 안나오고,

다날 관리자 페이지에서 3가지 포함 및 다른 정보들도 확인할 수 있는 걸로 알고 있거든요. 

 

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    필드를 추가해서 해당 필드에

    받아온 정보를 입력하기 때문에 회원들에게도 공개됩니다.

    본인인증 기능을 사용하시려면 최소한 하나의 필드는 있어야 됩니다.

    사이트에 다른 저장 필드를 사용하지 않으시려면

    워드프레스 관리자 -> 회원가입관리 -> 본인인증 페이지에서

    해당 필드를 사용안함으로 설정해보시겠어요?

    고맙습니다.

  • 사이트에는 저장이 안되고, 다날 관리자 페이지에서는 확인 가능할까요?

     

  • 다날 관리자 페이지에서 이름, 성별, 생일 등의 정보는 확인할 수 없는 듯합니다.

    또, 워드프레스 사용자와 1:1 매칭하려면 휴대폰 정보 같은 건 따로 저장을 해두셔야 할 듯합니다.

    1:1 확인할 필요 없다면 회원가입 시에만 필드 보여주고, 회원정보 페이지에서는 필드 안 보이게 적용하시면 될 듯합니다.

    회원정보 페이지에서 해당 필드를 안 보이게 하시려면

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에

    아래의 코드를 활용해보시겠어요?

    add_filter('wpmem_register_form_rows', 'my_register_form_rows', 999, 2);
    function my_register_form_rows($rows, $toggle){
    	$meta_key = '메타키';
    	if($toggle == 'edit' && isset($rows[$meta_key])){
    		$meta = get_user_meta(get_current_user_id(), $meta_key, true);
    		$rows[$meta_key]['label'] = '';
    		$rows[$meta_key]['field'] = '<input type="hidden" name="'.$meta_key.'" value="'.$meta.'">';
    	}
    	return $rows;
    }

    위 코드에서 메타키 부분을 실제 추천인 필드의 Meta Key 값으로 변경해주세요.

    Meta Key 값은 WP-Members 플러그인의 필드 관리 페이지에 나와있습니다.

     

    추가로 말씀드리면 실제 api 로 정보 불러오는건 아임포트에 저장된 정보를 가져옵니다.

    아임포트 쪽에도 문의를 해보시겠어요?

    고맙습니다.

  • 예를 들어 메타키가 다음과 같을 때 

    이름은 name, 성별 gender, 생일 birth 

    3가지 코드를 추가해야 되나요?

    수정은

    $meta_key = '메타키'; 

    에서 '메타기'만 수정하면 될까요? 다른 부분은 수정 안해도 되나요?

     

    add_filter('wpmem_register_form_rows', 'my_register_form_rows', 999, 2);
    function my_register_form_rows($rows, $toggle){
    	$meta_key = 'name';
    	if($toggle == 'edit' && isset($rows[$meta_key])){
    		$meta = get_user_meta(get_current_user_id(), $meta_key, true);
    		$rows[$meta_key]['label'] = '';
    		$rows[$meta_key]['field'] = '<input type="hidden" name="'.$meta_key.'" value="'.$meta.'">';
    	}
    	return $rows;
    }
    
    
    
    add_filter('wpmem_register_form_rows', 'my_register_form_rows', 999, 2);
    function my_register_form_rows($rows, $toggle){
    	$meta_key = 'gender';
    	if($toggle == 'edit' && isset($rows[$meta_key])){
    		$meta = get_user_meta(get_current_user_id(), $meta_key, true);
    		$rows[$meta_key]['label'] = '';
    		$rows[$meta_key]['field'] = '<input type="hidden" name="'.$meta_key.'" value="'.$meta.'">';
    	}
    	return $rows;
    }
    
    add_filter('wpmem_register_form_rows', 'my_register_form_rows', 999, 2);
    function my_register_form_rows($rows, $toggle){
    	$meta_key = 'birth';
    	if($toggle == 'edit' && isset($rows[$meta_key])){
    		$meta = get_user_meta(get_current_user_id(), $meta_key, true);
    		$rows[$meta_key]['label'] = '';
    		$rows[$meta_key]['field'] = '<input type="hidden" name="'.$meta_key.'" value="'.$meta.'">';
    	}
    	return $rows;
    }

     

     

  • 안녕하세요.

    필터는 여러 개 중복해서 사용하셔도 문제없지만 PHP에서 같은 함수명을 중복해서 사용할 수는 없습니다.

    올려주신 코드 대신 아래의 코드를 활용해보시겠어요?

    add_filter('wpmem_register_form_rows', 'my_register_form_rows', 999, 2);
    function my_register_form_rows($rows, $toggle){
    	$name = 'name';
    	$gender = 'gender';
    	$birth = 'birth';
    	if($toggle == 'edit'){
    		if(isset($rows[$name])){
    			$name_meta = get_user_meta(get_current_user_id(), $name, true);
    			$rows[$name]['label'] = '';
    			$rows[$name]['field'] = '<input type="hidden" name="'.$name.'" value="'.$name_meta.'">';
    		}
    		else if(isset($rows[$gender])){
    			$gender_meta = get_user_meta(get_current_user_id(), $gender, true);
    			$rows[$gender]['label'] = '';
    			$rows[$gender]['field'] = '<input type="hidden" name="'.$gender.'" value="'.$gender_meta.'">';
    		}
    		else if(isset($rows[$birth])){
    			$birth_meta = get_user_meta(get_current_user_id(), $birth, true);
    			$rows[$birth]['label'] = '';
    			$rows[$birth]['field'] = '<input type="hidden" name="'.$birth.'" value="'.$birth_meta.'">';
    		}
    	}
    	return $rows;
    }

    고맙습니다.

  • 3가지 메타키의 변수 중 1개인

    $name = 'name';

    에서요

    $name과 'name'에서 name을 각각 서로 다르게 적어줘도 되나요?

    예를들어

    $name1 = 'name2'

    로 해도 되나요?

    그리고 $name1로 바꿨기 때문에 앞에

    $name가 사용된 곳을 모두 $name1로 바꿔줘야할 것 같은데 맞나요?

    name을 각각 서로 다르게 바뀔 수 있다면,

    $gender = 'gender';

    $birth = 'birth';

    도 각각 서로 다른 이름으로 수정하려고 합니다.

  • 안녕하세요.

    $name = 'name'; 코드를 기준으로 설명을 드리자면

    뒤에 있는 'name'은 실제 필드의 메타키입니다.

    따라서 다른 이름으로 수정하신다면 정상적으로 작동하지 않습니다.

    $name1 = 'name' 이런 식으로 변경하신 후 기존의 $name을 $name1로 변경하시면 됩니다.

     

    이전에 안내해드린 코드는 아래의 코드와 같습니다.

    add_filter('wpmem_register_form_rows', 'my_register_form_rows', 999, 2);
    function my_register_form_rows($rows, $toggle){
    	if($toggle == 'edit'){
    		if(isset($rows['name'])){
    			$name_meta = get_user_meta(get_current_user_id(), 'name', true);
    			$rows['name']['label'] = '';
    			$rows['name']['field'] = '<input type="hidden" name="name" value="'.$name_meta.'">';
    		}
    		else if(isset($rows['gender'])){
    			$gender_meta = get_user_meta(get_current_user_id(), 'gender', true);
    			$rows['gender']['label'] = '';
    			$rows['gender']['field'] = '<input type="hidden" name="gender" value="'.$gender_meta.'">';
    		}
    		else if(isset($rows['birth'])){
    			$birth_meta = get_user_meta(get_current_user_id(), 'birth', true);
    			$rows['birth']['label'] = '';
    			$rows['birth']['field'] = '<input type="hidden" name="birth" value="'.$birth_meta.'">';
    		}
    	}
    	return $rows;
    }

     

    아래의 링크를 참고해보시면 도움이 되실 듯합니다.

    http://php.net/manual/kr/language.variables.basics.php

    고맙습니다.

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