Если вы хотите настроить свою страницу поиска и разрешить поиск пользовательских полей, вы можете легко добиться этого.В приведенном ниже примере мы используем 2 пользовательских поля.Образец для бизнес-справочника.У каждого бизнеса есть специальное поле для своей торговли и для местоположения города.По умолчанию поиск по WordPress не поставляется с дополнительными полями формы, но вы можете следовать этому, чтобы создать настраиваемый поиск для вашего веб-сайта WordPress, который использует настраиваемые поля.
Первое, что вам нужно сделать, это добавить дополнительные поля вформа.
Мы хотим добавить два поля формы для каждого из значений.В моем случае я отслеживаю торговлю и город.
Так что вы можете перейти по этой ссылке при создании полей формы.
После того, как вы создадите поля формы и дадите им имена, перейдитев ваш файл search.php и запишите новые значения в переменную, $ _GET ['имя вашего поля'];
$trade = $_GET['trade'];
$city = $_GET['city'];
Затем вы можете передать эти значения в ваш запрос, где ключ = имя настраиваемого поля изначение = переменная -
$args = array(
'meta_query' => array(
'relation' => 'AND',
array(
'key' => business_trade,
'value' => $trade,
),
array(
'key' => business_city,
'value' => $city,
)
)
);
Полный код ниже.
<?php
$trade = $_GET['trade'];
$city = $_GET['city'];
if ($trade && $city) {
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'meta_query' => array(
'relation' => 'AND',
array(
'key' => business_trade,
'value' => $trade,
),
array(
'key' => business_city,
'value' => $city,
)
)
);
query_posts($args);
} else {
query_posts('posts_per_page=4');
}
if ($trade && $city) { ?>
<h3>Your Search For <?php echo $trade; ?> and <?php echo $city; ?></h3>
<?php } else { ?>
<h3>Title</h3>
<?php } if(have_posts()) : ?>
<?php while(have_posts()) : the_post()
?>
<p class="no_percentage"><?php echo excerpt(15); ?> </p>
<span class="readmore" ><a href="<?php the_permalink(); ?>" > <?php _e('read more');?> </a> </span>
<?php endwhile; ?>
<?php else: ?>
<p class="notice_msg"><?php _e( 'Sorry, but nothing matched your search criteria.'); ?></p>
<?php endif; ?>