내정보변경시 아바타 변경 오류

다른 곳에서도 아바타 변경할 수 있게 하기 위해

add_shortcode('show_avatar','show_avatar');

function show_avatar(){
  global $wpdb;

  $current_user = wp_get_current_user();

     if(isset($_POST['cosmosfarm_members_avatar_nonce']) && wp_verify_nonce($_POST['cosmosfarm_members_avatar_nonce'], 'cosmosfarm_members_avatar')){

         $file_handler = get_cosmosfarm_members_file_handler();
         $upload_file = $file_handler->upload_avatar('cosmosfarm_members_avatar_file');

         if($upload_file){
             $cosmosfarm_members_avatar = get_user_meta($current_user->ID, 'cosmosfarm_members_avatar', true);

             if($cosmosfarm_members_avatar){
                 $upload_dir = wp_upload_dir();
                 @unlink("{$upload_dir['basedir']}{$cosmosfarm_members_avatar}");
             }

             update_user_meta($current_user->ID, 'cosmosfarm_members_avatar', $upload_file['url']);
         }
     }

    echo '<div class="cosmosfarm-members-form">';
    echo '<div class="profile-header"><form id="cosmosfarm_members_avatar_form" method="post" enctype="multipart/form-data">';
    echo wp_nonce_field('cosmosfarm_members_avatar', 'cosmosfarm_members_avatar_nonce');
    echo '';
	echo '<div class="avatar-img"><label for="cosmosfarm_members_avatar_file" title="' . __('Change Avatar', 'cosmosfarm-members') . '">' .get_avatar(get_current_user_id(), '400'). '<p class="change-avatar-message">' . __('Change Avatar', 'cosmosfarm-members') . '</p><input type="file" name="cosmosfarm_members_avatar_file" id="cosmosfarm_members_avatar_file" multiple="false" accept="image/*" onchange="cosmosfarm_members_avatar_form_submit(this)"></label></div>';
	echo '</form></div>';
    echo '</div>';
}

다른 글을 참고하여 만들었습니다. submit 되면서 get_avatar로 정상적으로 가져와집니다. **파일 업로드시에 "이미지 파일을 업로드해주세요" 라는 문구가 두번 뜨면서 변경이 됩니다.**

알림이 두번 왜 뜨는건지 모르겠습니다 ㅠㅠ

 

 

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