为此,您需要创建一个自定义查询,并从组合组合框中获取查询字符串。
此查询还取决于您的搜索词是如何排序的。
例如“属性类型”是一个类别?一个标签?分类?自定义字段??
这比一个简单的答案要复杂一些。
例如,如果您希望搜索词包含“类别”(假设“属性类型”是类别,您可以这样做:
<form role="search" method="get" id="searchform" action="<?php bloginfo('siteurl'); ?>">
<div>
<label class="screen-reader-text" for="s">Search for:</label>
<input type="text" value="" name="s" id="s" />
in <?php wp_dropdown_categories( 'show_option_all=All Categories' ); ?>
<input type="submit" id="searchsubmit" value="Search" />
</div>
</form>
或作为一个函数:
function wp_combo_search_form($form) {
$form = '<form method="get" id="searchform" action="' . get_option('home') . '/" >
<div><label class="hidden" for="s">' . __('Search for:') . '</label>
<input type="text" value="' . attribute_escape(apply_filters('the_search_query', get_search_query())) . '" name="s" id="s" />
<input type="submit" id="searchsubmit" value="'.attribute_escape(__('Search')).'" />
<br />
'.wp_dropdown_categories('show_option_all=All Categories&hide_empty=0&echo=0&selected='.intval($_GET['cat']).'').'
</div>
</form>';
return $form;
}
//uncomment following line for automatic filtering your theme
//add_filter('get_search_form', 'wp_combo_search_form');
用法 :
<?php echo wp_combo_search_form(''); ?>
但老实说——从问题的类型和它的“风格”来看——我建议你搜索一个插件来为你做这件事。在这里搜索
编辑我
仍然有很多方法和方法可以做到这一点(jQuery,Json,直接查询..)但是:
既然您说您需要自定义字段 -
从 wp3.1 开始,您可以将 meta_query 添加到 query_posts。
<?php
$args = array(
'post_type' => 'your_post_type', //typically "post"
'meta_query' =>
array(
'key' => 'your_key',
'value' => 'your_value',
'compare' => 'NOT LIKE' //just an example
),
array(
'key' => 'your_key_2"',
'value' => array( 20, 100 ), //value can be array
'type' => 'numeric', //just an example
'compare' => 'BETWEEN' //just an example
)
)
query_posts( $args );
?>
首先在 search.php 中捕获您的变量,例如$_GET['field name'];
$p_type = $_GET['property_type'];
$p_city = $_GET['property_city'];
$n_bedrooms = $_GET['no_bedrooms'];
$n_bathrooms = $_GET['no_batrhooms'];
然后将其传递给查询数组
$args = array(
'meta_query' => array(
'relation' => 'AND',
array(
'key' => $p_type,
'value' => $whatever,
),
array(
'key' => $p_city,
'value' => $whatever,
)
) // etc.etc...
);
现在您只需要使用正确的值填充下拉列表。
您可以在这里看到一个示例(搜索字段 - 不是下拉列表 - 但它是相同的):
http://dev.matthewaprice.com/
并在这里阅读它是如何完成的:
http://matthewaprice.com/search-multiple-custom-fields-in-wordpress/
另请阅读:http: //www.wp1stop.com/wordpress-101-guide-search-multiple-custom-fields-in-wordpress-custom-field-search-custom-query-part-1/