functions.php에서 wpdb로 데이터 가져오기

안녕하세요! 제가 하고 싶은 건 usermeta에서 meta key가 team인 것들의 value들 (team의 이름을 사용자 정의 필드로 이런 식으로 저장했어그 )

value1

<meta_value = value1을 가지는 것들의 nicename(wp_users테이블)>

이런식으로 쭉 출력하고 싶습니다..

 

아래와 같이

add_shortcode('printcode', 'print_teammember');
function print_teammember(){

global $wpdb;
echo 'team_member_list';


$sql = "SELECT * FROM {$wpdb->prefix}wp_usermeta WHERE meta_key='team'";
$results = $wpdb->get_results($sql);

    $teamname = array();

   $count = 0;
foreach($results as $result){
    $teamname[i] = $result->meta_value;
}
 
$teamname = array_unique($teamname);
  for($i=0;$i<count($teamname);$i++) {
    echo $teamname[i];

$sql2 = "SELECT * FROM {$wpdb->prefix}wp_usermeta WHERE meta_key='team' and meta_value=$teamname[i] ";
    
$results2 = $wpdb->get_results($sql2);
foreach($results2 as $result2){
    
echo 'checkcode';
    $id =  $result2->user_id;
            
  $uname = "SELECT user_nicename FROM {$wpdb->prefix}wp_users WHERE ID=$id";
       
        echo  $uname;
    
        echo ' ';
        }
    }
}

 

 

1. key가 team인 것들의 value를 배열에 저장.

2. 그 배열의 값을 이용해 user테이블의 nicename가져오기

 

아는 게 없어서 복잡하게 만들었는데...출력이 안됩니다.... 혹시 어디가 틀린지 아신다면 답변 부탁드립니다 흑흑

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    워드프레스 usermeta 테이블에서 meta key가 team이면서 meta value 별로 표시하고 싶으신 건지요?

    간단하게 예제 코드를 작성해봤습니다.

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

    add_shortcode('printcode', 'print_teammember');
    function print_teammember(){
    	global $wpdb;
    	
    	$html = '';
    	$html .= '<h3>team_member_list</h3>';
    	
    	$meta_value_list = $wpdb->get_results("SELECT DISTINCT `meta_value` FROM `{$wpdb->prefix}usermeta` WHERE `meta_key`='team';");
    	
    	foreach($meta_value_list as $meta_value){
    		$html .= '<h5>'.$meta_value->meta_value.'</h5>';
    		$user_id_list = $wpdb->get_results("SELECT `user_id` FROM `{$wpdb->prefix}usermeta` WHERE `meta_key`='team' AND `meta_value`='{$meta_value->meta_value}'");
    		
    		foreach($user_id_list as $user_id){
    			$user = new WP_User($user_id->user_id);
    			$html .= $user->user_nicename;
    		}
    	}
    	
    	return $html;
    }

     

    워드프레스 숏코드 관련 내용은

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

    https://codex.wordpress.org/Shortcode_API

     

    wpdb에 대한 자세한 내용은

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

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

     

    추가로 코드를 수정하실 때 디버그 모드를 활성화하시면

    에러 메시지를 확인해보실 수 있습니다.

    디버그 모드 활성화 방법은 아래의 링크를 참고해보세요.

    워드프레스 에러 확인하기 - 디버그 모드 활성화 방법

    고맙습니다.

  • #커뮤니티 자동 추천글

    get함수로 데이터 가져오기

    더보기

이미지 사진은 imgur에 업로드한 뒤 링크 걸어주세요.
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기