Wordpress WP\u用户\u查询仅拉入1个结果

Wordpress WP\u用户\u查询仅拉入1个结果,wordpress,Wordpress,我正在尝试实现一个搜索字段,它应该根据名字、姓氏和场馆名称的自定义元来查找用户 我已经设法使字段和WP_User_查询在一定程度上正常工作,唯一的问题似乎是它只检索一个结果,即使要显示多个结果 以下是我得到的: <div class="col-12" style="padding-top:0;"> <form role="search" method="get" id="searchform" class="searchform" action="<?php ec

我正在尝试实现一个搜索字段,它应该根据名字、姓氏和场馆名称的自定义元来查找用户

我已经设法使字段和WP_User_查询在一定程度上正常工作,唯一的问题似乎是它只检索一个结果,即使要显示多个结果

以下是我得到的:

<div class="col-12" style="padding-top:0;">
    <form role="search" method="get" id="searchform" class="searchform" action="<?php echo site_url('/members/'); ?>">
    <div class="user-form">
        <label class="screen-reader-text" for="member">Search for:</label>
        <input type="text" value="<?php echo get_search_query(); ?>" placeholder="Search members by first name, surname or venue name..." name="member" id="member" />
        <input type="submit" id="searchsubmit" value="Search" />
    </div>
    </form>
</div>

<?php
if( $_GET['member'] ) {

    $search_term = sanitize_text_field( stripslashes( $_GET['member']));    

// WP_User_Query arguments
$args = array (
    'order'      => 'ASC',
    'orderby'    => 'display_name',
    'number'     => 999999,
    'meta_query' => array(
        'relation' => 'OR',
        array(
            'key'     => 'first_name',
            'value'   => $search_term,
            'compare' => 'LIKE'
        ),
        array(
            'key'     => 'last_name',
            'value'   => $search_term,
            'compare' => 'LIKE'
        ),
        array(
            'key'     => 'venue_name',
            'value'   => $search_term,
            'compare' => 'LIKE'
        )
    )
);

// Create the WP_User_Query object
$wp_user_query = new WP_User_Query( $args );

// Get the results
$authors = $wp_user_query->get_results();

// Check for results
if ( ! empty( $authors ) ) { foreach ( $authors as $author ) 
$author_info = get_userdata( $author->ID );

echo $author_info->first_name;

} 
else {
    echo 'No members found';
}

}
?>

试试下面的代码

// WP_User_Query arguments
$args = array (
    'order'      => 'ASC',
    'orderby'    => 'display_name',
    'number'     => 999999,
    'meta_query' => array(
        'relation' => 'OR',
        array(
            'key'     => 'first_name',
            'value'   => $search_term,
            'compare' => 'LIKE'
        ),
        array(
            'key'     => 'last_name',
            'value'   => $search_term,
            'compare' => 'LIKE'
        ),
        array(
            'key'     => 'venue_name',
            'value'   => $search_term,
            'compare' => 'LIKE'
        )
    )
);

// The User Query
$user_query = new WP_User_Query( $args );

// The User Loop
if ( ! empty( $user_query->results ) ) {
    foreach ( $user_query->results as $user ) {
        // do something
        echo '<pre>';
        print_r($user); 
        echo '</pre>';

    }
} else {
    // no users found
}
//WP\u用户\u查询参数
$args=数组(
“订单”=>“ASC”,
'orderby'=>'display_name',
“编号”=>999999,
“元查询”=>数组(
'关系'=>'或',
排列(
'key'=>'first_name',
“值”=>$search\u术语,
'比较'=>'类似'
),
排列(
'键'=>'姓',
“值”=>$search\u术语,
'比较'=>'类似'
),
排列(
'键'=>'场地名称',
“值”=>$search\u术语,
'比较'=>'类似'
)
)
);
//用户查询
$user\u query=新的WP\u user\u查询($args);
//用户循环
如果(!empty($user\u query->results)){
foreach($user\u query->results as$user){
//做点什么
回声';
打印(用户);
回声';
}
}否则{
//找不到用户
}

我非常推荐您看看——这与您遇到的问题并不完全相同,但答案非常全面,可能会帮助您自己找到问题。祝你好运我想你可能在这里发现了一些东西。你是个传奇人物!它现在正在拉出两个WP_用户对象,这太棒了。你知道我如何让它以一种我可以设计的方式呼应出来吗?你可以做OpenClosePHP标记,或者你可以在一个变量中存储完整的html,然后你可以在循环外呼应它。你是个绅士,Akshay。非常感谢你在这件事上的帮助,你不会相信我花了这么多时间来让它工作。它现在很有魅力。