2016-08-23 2 views
0

Привет, я создаю расширенный пользовательский поиск Wordpress с таксономическим фильтром. Но таксономия не фильтруется. Это код для формы поиска;wordpress пользовательская таксономия поиск не работает

<form method="get" id="searchform" action="<?php echo esc_url(home_url('/')); ?>" role="search"> 
    <label for="s" class="assistive-text"><?php _e('Search', 'understrap'); ?></label> 
    <div class="input-group"> 
     <input type="text" class="field form-control" name="s" id="s" placeholder="<?php esc_attr_e('Search &hellip;', 'understrap'); ?>" /> 
     <input type="hidden" name="post_type" value="country"> 

     <?php 
     $args= array('hide_empty'=>false, 
        ); 
     $district = get_terms('country',$args); ?> 
     <select name="country"> 
     <option value="" selected="selected"> Select</option> 
     <?php foreach ($district as $region) {?> 
     <<option value="albania"> <?php echo $region->name;?></option> 
      <?php } ?> 
     </select> 


      <input type="submit" class="submit btn btn-primary" name="submit" id="searchsubmit" value="<?php esc_attr_e('Search', 'understrap'); ?>" /> 
     </span> 
    </div> 
</form> 

Этот запрос из URL:

http://localhost/home/?s=&post_type=country&country=&submit=Search

+0

И что URL-адрес запускает функцию поиска по умолчанию WP, или что? – CBroe

ответ

0

Во-первых, убедитесь, что систематика установлен в общественной, например,

register_taxonomy('my_tax', 
     array('for_posttype'), 
     array('hierarchical' => true,  
      'public' => true, 

Затем проверьте, если вы можете напрямую запрашивать тип записи + параметр таксономии, основанный на вар URL запроса, запустить непосредственно в браузере http://yoursite.com/?post_type=country&taxonomy=your_taxonomy_slug&term=term_slug

Если у вас нет никакого результата, то вы должны сделать дополнительную отладку например, убедитесь, что в этот термин уже назначен пост, этот термин является общедоступным.

Когда вы получаете результат, вы можете создать пользовательскую форму для создания URL-адреса, который вы хотите создать.

например.

<form method="GET" action="/" > 
    <input type="text" name="s" placeholder="keyword" /> 
    <select name="term"> 
     <option value="" selected="selected"> Select</option> 
     <option value="term1">Term 1</option> 
     <option value="term2">Term 2</option> 
    </select> 
    <input type="hidden" name="post_type" value="country"> 
    <input type="hidden" name="taxonomy" value="your_taxonomy_slug"> 
</form> 
Смежные вопросы