Php wordpress中的用户过滤器

Php wordpress中的用户过滤器,php,wordpress,Php,Wordpress,我使用元查询过滤用户,但它不过滤。我得到一个空结果,里面有带“abc”的电子邮件ID。不知道哪里出错。您可以使用以下代码进行自定义查询: $args = array( 'role' => 'customer', 'meta_query' =>array( array( 'key' => 'email', 'value' =&g

我使用元查询过滤用户,但它不过滤。我得到一个空结果,里面有带“abc”的电子邮件ID。不知道哪里出错。

您可以使用以下代码进行自定义查询:

$args = array(
            'role'  => 'customer',
            'meta_query' =>array(
            array(
                    'key' => 'email',
                    'value' => 'abc',
                    'compare' => 'LIKE'
                )
            )
        );




$customers  = get_users($args);
试试这个:

元查询-通过WP\u元查询对象处理的数组。参考:-


使用
meta\u compare
而不是
compare
。这样做:-
$args=array('role'=>'customer','meta_query'=>array('key'=>'email','value'=>'abc','meta_compare'=>'like')@YO-YO,请检查我的答案。@AlivetoDie试过了,没有work@YoYo您使用的WordPress版本是什么?@YOYO,我们假设您的meta_key='email'和meta_value='abc'在wp_usermeta表中?@YOYO我已经测试了上述代码,它对我来说运行良好。
<?php 
$args = array(
    'role' => 'customer',
    'meta_query'       => array(
        array(
            'key'          => 'email',
            'value'        => 'abc',
            'meta_compare' => 'LIKE',
        )         
    ),
); 
$my_user_query = new WP_User_Query($args);
$editors = $my_user_query->get_results(); 

if ( ! empty( $editors ) ) {

    echo '<ul class="editors-list">';        
        foreach ( $editors as $editor ) {
            $editor_info = get_userdata( $editor->ID );
            echo '<li>' . $editor_info->display_name . '</li>';     
        } 
    echo '</ul>'; 
} else {     
    echo __( 'No editors found!', 'wordpress' ); 
}
$meta_query_args = array(
                    'key' => 'email',
                    'value' => 'abc',
                    'compare' => 'LIKE'
                );
$meta_query = new WP_Meta_Query( $meta_query_args );
$args = array(
            'role' => 'customer',
            'meta_query' =>array($meta_query )
        );
$customers  = get_users($args);