我们如何在wordpress中一起搜索分类和关键字搜索?

时间:2013-01-16 17:20:38

标签: wordpress

我一直在创建一个自定义帖子类型,它有三个分类。我想创建一个包含关键字(按用户类型)和三个分类下拉列表框的搜索表单。

只有三个列表框搜索给我正确的搜索结果。我添加用户类型文本框时购买。现在有结果。

下面的代码不起作用。

$list = array();
  $item = array(); 
  foreach($_GET as $key => $value){
  if($key == 's'){
  $item['s'] = htmlspecialchars($key);
  $item['keyword'] = htmlspecialchars($value);
  $list[] = $item;
  }
  if($value != '' && $key != 's'){
  $item['taxonomy'] = htmlspecialchars($key);
  $item['terms'] = htmlspecialchars($value);
  $item['field'] = 'slug';
  $list[] = $item;
  } 
  } 
  $cleanArray = array_merge(array('relation' => 'AND'), $list);
  $args['post_type'] = 'listings';
  $args['showposts'] = 12;
  $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
  $args['paged'] = $paged; 
  $args['tax_query'] = $cleanArray; 
$the_query = new WP_Query( $args ); //data is sanitized inside wp_query class

1 个答案:

答案 0 :(得分:0)

我通过更改下面的代码得到了答案。

global $query_string;

$query_args = explode("&", $query_string);
$search_query = array();

foreach($query_args as $key => $string) {
    $query_split = explode("=", $string);
    $search_query[$query_split[0]] = $query_split[1];
} // foreach
$args = array(
    'post_type' => 'listings',
    's' => $search_query['s'],

    'tax_query' => array(
        'relation' => 'AND',
        array(
            'taxonomy' => 'type',
            'field' => 'slug',
            'terms' => $search_query['type']
        ),
        array(
            'taxonomy' => 'rooms',
            'field' => 'slug',
            'terms' => $search_query['rooms']
        )
    )
);
$the_query = new WP_Query($args);