코스모스팜 회원관리 유저리스트 SNS회원

안녕하세요?

현재 SNS 회원가입 후 필수 내용을 입력하지 않을경우

https://imgur.com/RKFUwik

회원가입은 되지만 이렇게 빈칸이 출력되네요.

 

이러한 빈칸이 있을 경우

users-list-item-default.php

<?php 

$user_info = get_userdata($user->ID);
$user_name = get_userdata($user->last_name);
if(empty($user_name)){
?>

<tr>
	<td>
		<div class="add-item-middot item-display-name">
			
			?>
			<?php echo $user_display, $user->first_name?>
			<div class="mobile_user">
				<?php 
				if($user->open_nick=='open'):
					echo $user->first_name;
				else : 
					echo '비공개';
				endif;
				?>
			</div>
		</div>
	</td>
	<td><div class="add-item-middot item-display-name"><?php echo $user->last_name;	?></div></td>
	<td><div class="add-item-middot item-display-name"><?php echo $user->cluster; ?></div></td>
	<td>
		<div class="add-item-middot item-display-name"><?php echo $user->sex; ?>
			<div class="mobile_user">
				<?php 
				if($user->open_birth=='open'):
					echo $user->birth;
				else : 
					echo '비공개';
				endif; ?>
			</div>
		</div>
	</td>
	<td>
		<div class="add-item-middot item-display-name"><?php 
			if($user->open_birth=='open'):
				echo $user->birth;
			else : 
				echo '비공개';
			endif; ?>
		</div>
	</td>
	<td>
		<div class="add-item-middot item-display-name"><?php 
			if($user->open_email=='open'):
				echo $user->user_email;
			else : 
				echo '비공개';
			endif; ?>
			<div class="mobile_user">
				<?php if($user->ID != get_current_user_id()):?>
				<div class="add-item-middot item-message">
					<a href="<?php echo get_cosmosfarm_members_messages_url(array('to_user_id'=>$user->ID, 'redirect_to'=>$_SERVER['REQUEST_URI']))?>" title="쪽지 보내기">쪽지 보내기</a>
				</div>
				<?php endif?>
			</div>
		</div>
	</td>
	
	<td>
		<?php if($user->ID != get_current_user_id()):?>
		<div class="add-item-middot item-message"><a href="<?php echo get_cosmosfarm_members_messages_url(array('to_user_id'=>$user->ID, 'redirect_to'=>$_SERVER['REQUEST_URI']))?>" title="쪽지 보내기">쪽지 보내기</a></div>
		<?php endif?>
	</td>
</tr>
<?php } ?>

위 코드처럼 빈칸이 있는 컬럼은 출력이 안되게끔 하고싶은데

좋은 방법이 있을까요?

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

    어떻게 표시하고 싶으신 건지 이해가 잘 가지 않습니다.

    사용자의 필드 메타 값이 없다면 아예 표시하지 않고 싶으신 건지요?

    아니면, 비공개 문구를 표시하고 싶으신 건지요?

    좀 더 구체적으로 설명 부탁드립니다.

     

    소셜 로그인으로 회원가입한 사용자는

    일반 회원가입 페이지에 표시되는 필수 필드를 입력하지 않고 회원가입이 가능합니다.

    소셜 로그인 사용자도 필수 필드를 입력하게 하시려면

    워드프레스 관리자 -> 회원가입관리 -> 설정 페이지 보시면 필수정보 반드시 입력 설정을 사용해보시겠어요?

    이 설정을 사용으로 해두셨다면 WP-Members 플러그인 필드 설정에서 필수 체크된 필드의 값이 없다면

    회원정보 페이지로 항상 이동됩니다.

    따라서 회원가입 시 이름이 필수로 설정되어 있다면 소셜 로그인으로 로그인 시에

    이름을 반드시 입력하도록 회원정보 페이지로 이동하게 됩니다.

    고맙습니다.

  • 빈 칸이 있다면 아예 해당 줄이 표시하지않았으면 합니다.

    그리고 필수정보 반드시 입력으로 한 상태에서도 

    SNS 회원이 로그인하고 필수페이지에서 입력을 안하고 그냥 꺼버리면 전체 회원 리스트에서 저렇게 출력됩니다.

    그래서 아예 해당 줄이 안보이게끔 하려고합니다.

  • 코스모스팜 회원관리 플러그인 회원리스트 페이지에서

    실제 회원 목록은 워드프레스 WP_User_Query 클래스를 활용하고 있습니다.

    cosmosfarm_members_users_list_query_args 필터를 활용하시면

    회원리스트 페이지에서 회원 목록을 불러오는 쿼리를 수정하실 수 있습니다.

    필터 사용법은 아래와 같습니다.

    add_filter('cosmosfarm_members_users_list_query_args', 'my_cosmosfarm_members_users_list_query_args', 10, 1);
    function my_cosmosfarm_members_users_list_query_args($args){
    	// 이곳에 코드를 추가해보세요.
    	return $args;
    }

     

    WP_User_Query 클래스에 대한 자세한 내용은

    아래의 링크를 참고해보세요.

    https://codex.wordpress.org/Class_Reference/WP_User_Query

     

    users-list-item-default.php 파일에서

    아래의 코드를 활용하면 이메일과 first_name 필드가 있을 때만 표시되게 할 수 있습니다.

    if($user->first_name && $user->user_email){ // 이메일과 first_name 필드에 값이 있을 때만 표시됩니다.
    	echo $user->first_name;
    }

    올려주신 코드 중 if(empty($user_name)){ 부분 대신 위의 코드를 활용해보세요.

    고맙습니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요