WordPress通过电子邮件或带有或关系的元密钥值获取用户

问题描述

我有一个电子邮件字段。当用户提交表单时,我想通过电子邮件Meta键“ Partner_email”过滤用户。我需要字段和元键之间的OR关系。

@override
  Widget build(BuildContext context) {
    final double statusBarHeight = MediaQuery.of(context).padding.top;
    print("statusBarHeight");

    print(statusBarHeight);

    pr = new ProgressDialog(context,type: ProgressDialogType.normal,isdismissible: false);

    //final double bottomnavigationbarheight;
    return SafeArea(
      child: Scaffold(
        body: Container(
            height: MediaQuery.of(context).size.height - statusBarHeight,child: PageStorage(
              child: _children[_selectedindex],bucket: bucket,)),bottomNavigationBar:
            SizedBox(height: 60,child: _bottomNavigationBar(_selectedindex)),),);
  }

解决方法

您可以使用自定义查询;

global $wpdb;

$email = $_POST['email'];
    
$users_query = "SELECT ID FROM $wpdb->users AS users";
$users_query .= " LEFT JOIN $wpdb->usermeta AS usermeta ON (users.ID = usermeta.user_id)";
$users_query .= " WHERE users.user_email='$email'";
$users_query .= " OR (usermeta.meta_key='partner_email' AND usermeta.meta_value='$email')";
$users_query .= " group by users.ID";
$users_ids = $wpdb->get_col($users_query);