Wordpress WP\u用户\u查询仅拉入1个结果
我正在尝试实现一个搜索字段,它应该根据名字、姓氏和场馆名称的自定义元来查找用户 我已经设法使字段和WP_User_查询在一定程度上正常工作,唯一的问题似乎是它只检索一个结果,即使要显示多个结果 以下是我得到的: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
<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。非常感谢你在这件事上的帮助,你不会相信我花了这么多时间来让它工作。它现在很有魅力。