Я написал собственный поисковый запрос для поиска пользовательских метаданных инструктора, он работает с текстом типа ввода, но я хочу отсортировать результат для отображения с типом обучения как Обычный или Онлайн / оба выбранные с флажками
Как получить и сохранить результаты флажков и передать значение в массив, чтобы отобразить отсортированные результаты, такие как выбранный флажок Регулярный на дисплее Регулярный результат учителя,
Если выбран онлайн, показывать только онлайн
Если выбрано, оба показывают все результаты.
В настоящее время я добавил результаты метаданных для типа обучения в поле ввода для отображения, но я хочу отсортировать результаты, передав значения из флажков.
Я добавил код в WordPress searchform.php
Я не понимаю, как это реализовать.
вот мой код ...
Заранее спасибо.
<form role="search" method="get" id="searchform" class="form-inline"
action="<?php echo home_url( '/' ); ?>">
<input type="checkbox" class="input-check" name="check_type"
value="regular" /><label>Regular</label>
<input type="checkbox" class="input-check" name="check_type"
value="online" /><label>Online</label></br>
<input type="search" name="teacher" id="teacher" <?php if(is_search())
{ ?>value="<?php the_search_query(); ?>" <?php } else { ?
>placeholder="Subjects / Skills"<?php } ?> /><br />
<input type="text" name="geolocate" value="" id="geo-id" class="geo-
cl" placeholder="Location" />
<button type="submit" id="searchsubmit" value="Search">Search</button>
</form>
<?php
if( $_GET['teacher'] ) {
$search_term = sanitize_text_field( stripslashes( $_GET['teacher']));
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$query_types = get_query_var('check_type');
?>
<div class="search-query-result">
<p>You are searching for : <?php echo $search_term; ?> </p>
</div>
<?php
if($_POST['check_type']) {
$teaching_type = $_POST['check_type'];
$teaching_type = implode(',',$teaching_type);
}
else { $teaching_type = ''; }
// WP_User_Query arguments
$args = array (
'role' => 'lp_teacher',
'order' => 'ASC',
'orderby' => 'display_name',
'number' => 999999,
'paged' => $paged,
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'nickname',
'value' => $search_term,
'compare' => 'LIKE'
),
array(
'key' => 'last_name',
'value' => $search_term,
'compare' => 'LIKE'
),
array(
'key' => 'subjects',
'value' => $search_term,
'compare' => 'LIKE'
),
array(
'key' => 'online',
'value' => $query_types,
'compare' => 'LIKE'
),
// array(
// 'key' => 'regular',
// 'value' => $search_term,
// 'compare' => 'LIKE'
// ),
array(
'key' => 'address',
'value' => $search_term,
'compare' => 'LIKE'
),
array(
'key' => 'occupation',
'value' => $search_term,
'compare' => 'LIKE'
),
array(
'key' => 'standard',
'value' => $search_term,
'compare' => 'LIKE'
)
)
);
// Create the WP_User_Query object
$wp_user_query = new WP_User_Query( $args );
// Get the results
$instructors = $wp_user_query->get_results();
// Check for results
if ( ! empty( $instructors ) )
{
foreach ( $instructors as $instructor ){
$instructor_info = get_userdata( $instructor->ID );
// $curuser = get_userdata($user->ID);
$author_post_url=get_author_posts_url($instructor_info->ID,
$instructor_info->nicename);
echo "<div class='inst-post-search'>";?>
<?php
echo "<a
href='/wordpress/teacherclone/profile/$instructor_info->display_name'
title='.$instructor_info->display_name.'>";
echo "<h2>$instructor_info->display_name</h2>";
echo '</a>'; ?>
<p><label>Occupation : </label> <?php echo $instructor_info-
>occupation; ?></p>
<div class="clearfix user-loop">
<div class="profile-img">
<?php
echo get_avatar($instructor_info->user_email, '80',
$avatar);
?>
</div>
<div class="profile-desc">
<?php
echo $instructor_info->description;
?>
</div>
</div>
<div class="profile-addr">
<label>Address : </label>
<?php echo $instructor_info->address. '|'
.$instructor_info->country; ?>
</div>
<div class="profile-sub">
<label>Qualifiaction : </label>
<?php echo $instructor_info->education; ?><br>
<label>Teaching Standard / Board : </label>
<?php echo $instructor_info->standard; ?><br>
<label>Subjects : </label>
<?php echo $instructor_info->subjects; ?>
</div>
<ul class="profile-ul">
<li class="profile-ul-li profile-li-first-child"><i
class="fa fa-laptop" aria-hidden="true"></i> <?php echo
$instructor_info->onlineexp; ?></li>
<li class="profile-ul-li"><i class="fa fa-address-card"
aria-hidden="true"></i> <?php echo $instructor_info->totalexp; ?></li>
<li class="profile-ul-li"><i class="fa fa-usd" aria-
hidden="true"></i> <?php echo $instructor_info->fees; ?> / per hour.
</li>
<li class="profile-ul-li"><i class="fa fa-star" aria-
hidden="true"></i> <?php if ($instructor_info->online == 'online'){
echo $instructor_info->online; } else {echo NA;} ?> / <?php if
($instructor_info->regular == 'regular'){ echo $instructor_info-
>regular;}
else {echo NA;} ?> </li>
<li class="profile-ul-li profile-li-last-child"><?php
education_lms_course_ratings() ?> </li>
</ul>
<?php if(get_post_type() == 'lp_course'){ echo 'lp_course';
}?>
<?php
//echo '<p>'.$curuser->education.'</p>';
//echo '<p>'.$curuser->onlineexp.'</p>';
//echo '<p>'.$curuser->totalexp.'</p>';
//echo '<p>'.$curuser->fees.'</p>';
echo '</div>';
// echo $instructor_info->first_name;
}
}
else {
?>
<div class="search-query-noresult">
<p><?php echo 'Sorry! No results found for your query. Please
try with proper search keywords.';?></p>
</div>
<?php }}?>