如何在Wordpress用户元数据中使用MySQL选择查询并从其他表中左联接?

时间:2018-07-11 08:18:57

标签: php mysql wordpress

如果他处于活动状态,我需要获取用户计数。

我有两个表:

  1. 用户
  2. wp_user_meta

wp_user_meta表中,用户的一些详细信息以序列化形式存储,而用户active_status是。

如何编写查询以获取符合上述条件的用户数

我曾经使用wordpress方法获取用户元

赞:

$user_meta = get_user_meta( 98 );

$all=$user_meta['coupon_user_meta'][0];

$unser=unserialize($all);

print_r($unser); 

,输出为

Array ( [active_status] => active [subscribe] => yes [avatar] => [confirmation_hash] => )

如何编写查询?

最后,谢谢大家,我已经硬编码了一些。它对我有用。 请查看此代码。

$data = array();
$results = $wpdb->get_results("SELECT * FROM wp_users");

if(!empty($results)){

    foreach($results as $row){
        $person_id= $row->ID;
        $data[] = person_id;
    }
}
$num=0;
$check=$meta=$unserial=NULL;
foreach($data as $user){

    $check=get_user_meta($user);
    $meta=$check['coupon_user_meta'][0];


$unserial=unserialize($meta);


$co=$unserial['active_status'];


    if($co=="active"){
        $num++;

    }


}
echo $num;

2 个答案:

答案 0 :(得分:0)

尝试一下:

select sum(um.meta_value = '1') Sex1, sum(um.meta_value = '2') Sex2
from wp_usermeta um
join wp_users u on u.id = um.user_id
where um.meta_value = 1
group by date(u.user_registered)

谢谢!

答案 1 :(得分:0)

尝试使用此代码。

<?php
$allusers = get_users( $args = array() );
foreach ( $allusers as $user ) {
   if($user->active_status == 'active'){
    $active_user[] = $user->active_status;
   }
}

$count = sizeof($active_user);
?>