PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
freekc
Отправлено: 02 Декабря, 2016 - 12:40:36
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Дек. 2014  


Помог: 0 раз(а)




Может кто-то сталкивался с такой проблемой:
нужен поиск в обычных поста + фильтр по таксономии, которая прикручена к этим постам.

Вот код формы поиска:
PHP:
скопировать код в буфер обмена
  1.  
  2. <div class="search">
  3.             <?PHP
  4.             $args = array(
  5.               'show_option_all'    => 'Часть тела',
  6.               'echo'               => 0,
  7.               'hide_empty'         => 0,
  8.               'name'               => 'in_mesto',
  9.               'class'              => 'select search-select select-part',
  10.               'taxonomy'           => 'cat_mesto',
  11.             );
  12.  
  13.               $dropdowncatsmesto = wp_dropdown_categories($args);
  14.  
  15.  
  16.             $argst = array(
  17.               'show_option_all'    => 'Стиль',
  18.               'echo'               => 0,
  19.               'hide_empty'         => 0,
  20.               'name'               => 'in_stil',
  21.               'class'              => 'select search-select select-style',
  22.               'taxonomy'           => 'cat_stil',
  23.             );
  24.  
  25.               $dropdowncatsstil = wp_dropdown_categories($argst);
  26.  
  27.             ?>
  28.  
  29.               <form id="searchform" role="search" method="get" action="<?PHP echo home_url( '/' ); ?>" >
  30.  
  31.               <input name="s" id="s"  placeholder="Название" class="search-input" value="<?PHP echo get_search_query() ?>" >
  32.               <div class="search_item">
  33.  
  34.                 <?PHP echo $dropdowncatsmesto; ?>
  35.  
  36.               </div>
  37.               <div class="search_item">
  38.  
  39.                 <?PHP echo $dropdowncatsstil; ?>
  40.  
  41.               </div>
  42.               <div class="search_item find"><input type="submit" name="submit" id="searchsubmit" class="submit search-button" value="Найти татуировку" /></div>
  43.               <button class="search-button_mob"></button>
  44.             </form>
  45.  
  46.  
  47.           </div>
  48.  


Прописал в файле functions.php где искать:
PHP:
скопировать код в буфер обмена
  1.  
  2. if ( $_GET['s'] != '' && $_GET['in_mesto'] >= '1' && $_GET['in_stil'] >= '1' ) {
  3.                         $args = array(  
  4.                         'post_type' => 'post',
  5.                         'paged' => get_query_var( 'paged' ),
  6.                         'posts_per_page' => '-1',
  7.                         'post_title_like' => $_GET['s'],
  8.                             'tax_query' => array(
  9.                                 'relation'  => 'AND',
  10.                                 array(
  11.                                     'taxonomy' => 'cat_mesto',
  12.                                     'field' => 'term_id',
  13.                                     'terms' => $_GET['in_mesto'],
  14.                                 ),
  15.                                 array(
  16.                                     'taxonomy' => 'cat_stil',
  17.                                     'field' => 'term_id',
  18.                                     'terms' => $_GET['in_stil'],
  19.                                 )
  20.                             )
  21.                        );
  22.                     }
  23.                    
  24.          $filter = new WP_Query( $args );
  25.  


Вот тут и вылазит моя головна боль. По слову ищет без проблем, но фильтрации по таксономии нету. Такое ощущение, что tax_query вовсе не отрабатывает.

Если в масиве закоментировать строку 'post_title_like' => $_GET['s'], то фильтрация по таксономии работает.

Подскажите, пожалуйста, куда копать? Как заставить поиск работать по слову + фыльтровать посты по 2 таксономиям?
 
 Top
freekc
Отправлено: 02 Декабря, 2016 - 15:03:03
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Дек. 2014  


Помог: 0 раз(а)




Как оказалось, поиск блокировал плагин - три дня мучался, не мог понять в чем проблема.

Осталась небольшая проблема поиск сейчас работает по 100% совпадению слова.

Как можно сделать морфологический поиск (без плагинов)? Есть какие то идеи по этому?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« CMS и фреймворки »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB