2017-05-04 35 views
0

By selecting search item and click on find tour i want to search particular categories but in print_r($_GET) i received on only one category id如何在WordPress中获取所有的URL变量数据?

I want all four category id in $_GET variable to search for categories

我使用此代码为下拉列表: -

  $category = array(
       'show_option_all' => 'Select Tour', 
       'orderby'   => 'name', 
       'show_count'   => 0, 
       'taxonomy'   => 'tour_category', 
      ); 
      $tour_category = wp_dropdown_categories($category); 
      $line = array(
       'show_option_all' => 'Select cruise Line', 
       'orderby'   => 'name', 
       'echo'    => 1, 
       'taxonomy'   => 'genre', 
      ); 
      $cruise_line = wp_dropdown_categories($line); 
      $month = array(
       'show_option_all' => 'Select Month', 
       'orderby'   => 'name', 
       'echo'    => 1, 
       'taxonomy'   => 'date_month', 
      ); 
      $date_month = wp_dropdown_categories($month); 
      $length = array(
       'show_option_all' => 'Select Trip Length', 
       'orderby'   => 'name', 
       'echo'    => 1, 
       'taxonomy'   => 'writer', 
      ); 
      $trip_length = wp_dropdown_categories($length); 

其实我想使基于这四个类别搜索。 我以前的代号是这样的: -

$text_field_label = _x('Search Tour', 'placeholder', 'adventure-tours'); 



      printf(

       '<div class="%s">%s' . 

        '<div class="form-block__item form-block__field-width-icon">' . 

         '<input type="text" %svalue="%s" name="s"><i class="td-search-1"></i>' . 

        '</div>' . 

       '</div>', 

       esc_attr('col-sm-' . $search_field_cells), 

       $is_show_label ? sprintf('<div class="form-block__item-label 1">%s</div>', esc_html($text_field_label)) : '', 

       $is_show_label ? '' : sprintf('placeholder="%s" ', esc_attr($text_field_label)), 

       get_search_query() 

      ); 

我把它转换在下拉菜单有四个不同的类别。

+0

在您的URL中使用cat1,cat2,cat3和cat4 –

回答

1

尝试这样的事情

$query = explode('&', $_SERVER['QUERY_STRING']); 
$param = array(); 

foreach($query as $str) 
{ 
    list($name, $value) = explode('=', $str, 2); 
    $param[urldecode($name)][] = urldecode($value); 
} 
print_r($param); 
+0

如何在wordpress中添加此项? –

+0

如何调用print_r($ _GET) –

+0

我想在WordPress中获得这些全部参数。 –

0

,我注意到这里的第一件事是,你是为所有四个选择框使用相同的名称。

因为如果您不在wp_dropdown_categories函数的参数中添加name属性,则它会自动使用默认名称,即cat

所以添加不同name属性每个选择框,以便在提交表单,您将拥有GET查询字符串四种不同的选择变量,象下面这样:

$category = array(
       'show_option_all' => 'Select Tour', 
       'orderby'   => 'name', 
       'show_count'   => 0, 
       'name'    => 'cat-tour', 
       'taxonomy'   => 'tour_category', 
      ); 
      $tour_category = wp_dropdown_categories($category); 
      $line = array(
       'show_option_all' => 'Select cruise Line', 
       'orderby'   => 'name', 
       'echo'    => 1, 
       'name'    => 'cat-genre', 
       'taxonomy'   => 'genre', 
      ); 
      $cruise_line = wp_dropdown_categories($line); 
      $month = array(
       'show_option_all' => 'Select Month', 
       'orderby'   => 'name', 
       'echo'    => 1, 
       'name'    => 'cat-date', 
       'taxonomy'   => 'date_month', 
      ); 
      $date_month = wp_dropdown_categories($month); 
      $length = array(
       'show_option_all' => 'Select Trip Length', 
       'orderby'   => 'name', 
       'echo'    => 1, 
       'name'    => 'cat-writer', 
       'taxonomy'   => 'writer', 
      ); 
      $trip_length = wp_dropdown_categories($length); 

希望它能帮助。