Search Everything
-
Не ищет по имени категории. Т.е. если у Вас есть категория «Молоко», но в посте этой категории нет слова «молоко», то поиск Вам не выдаст ничего. Хотя категорию он ищет, но только если Вы будете искать адрес категории на латинице — «moloko».
Вся проблема в том, что стоит плагин RusToLat, который из «молоко» делает «moloko». А Search Everything к этому не готов.
-
Интересно. А вы не пытаетесь искать чёрную кошку в тёмной комнате без обид. А что по вашему должен выдать поиск?
Конечно без обид) Просто почему никто не решает эту проблему?
Даже на хороших блогах смотрел — это не сделано.Надо переделать код Search Everything, а у меня не такой уровень знаний, чтоб вот так взять, да и переделать.
Я уже на поиске в инете часа два потратил… ничего. Всё пусто. Все молчат. А проблема то актуальная!(Может если я выложу код плагина Search Everything и укажу место, которое надо изменить, чтоб всё заработало как полагается, то мне кто-нибудь поможет внести эти изменения?
Мене везде игонрят(( Я уже даже сам нашёл причину проблемы.
Ну может кто-нибудь поможет?((
поищи здесь в форуме — эту проблему уже «мусолили» в районе 2-3 недель назад
А если в описание категории добавить слово Молоко, может быть Search Everything подхватит ?
поищи здесь в форуме — эту проблему уже «мусолили» в районе 2-3 недель назад
Это я её и мусолил) Только я тогда меньше продвинулся чем сейчас. Сейчас то я хотя бы знаю «Где» и «Что».
А если в описание категории добавить слово Молоко, может быть Search Everything подхватит ?
Да, я так делал. Этот способ работает. Но это плохой способ. Неужели каждый раз писать описание категории… Это не сложно, но не красиво)
Но если нет других вариантов? Остается залезть в код плагина и там чего то лепить это тоже не очень красиво.
глянул я код Search Everything, действительно непонятно, по категориям поиск идет только по полю slug и description чем это вызвано? .. но думаю дело не в забывчивости.
Если у вас очень много категорий напишите SQL запрос, чтобы он автоматом имя категории прописывал в description , или вариант написать action при редактировании категории, чтобы тоже самое делал.Если в настройках плагина выбрать «Искать каждый тег», то поиск производится и по имени категории (т.е. по полю
wp_terms.name
).Спасибо всем!)
А ты, Sergey Biryukov просто красавчик!) Спасибо огромное!) Я бы сам не за что в жизни не догадался) Успехов тебе во всех твоих делах!)Категории имена которых состоят из 2-х слов не ищет даже так)
Но большая часть проблема конечно решена)
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Я на днях попробую разобраться. Скоро отпишу)Категории имена которых состоят из 2-х и более слова — не ищет((
Я
ввёл в поиск слова «Хорошие авто» и в результате — НИЧЕГО НЕ НАЙДЕНО. Хотя у меня есть такая категория. А если вводить слова по отдельности «Хорошие» и «авто», то поиск сработает как надо.Если в настройках плагина выбрать «Искать каждый тег», то поиск производится и по имени категории (т.е. по полю wp_terms.name).
// create the search tag query function se_build_search_tag() { global $wp_query, $wpdb; $s = $wp_query->query_vars['s']; $search_terms = $this->se_get_search_terms(); $exact = $wp_query->query_vars['exact']; $search = ''; if ( !empty($search_terms) ) { // Building search query $n = ($exact) ? '' : '%'; $searchand = ''; foreach($search_terms as $term) { $term = addslashes_gpc($term); if ($this->wp_ver23) { $search .= "{$searchand}(tter.name LIKE '{$n}{$term}{$n}')"; } $searchand = ' AND '; } $sentence_term = $wpdb->escape($s); if (!$sentence && count($search_terms) > 1 && $search_terms[0] != $sentence_term ) { if ($this->wp_ver23) { $search = "($search) OR (tter.name LIKE '{$n}{$sentence_term}{$n}')"; } } if ( !empty($search) ) $search = " OR ({$search}) "; } $this->se_log("tag where: ".$search); return $search;
Эта та самая часть кода, которая связана с «Искать каждый тэг».
Я посмотрел поле wp_terms.name, взял оттуда название категории из 2-х слов; ввёл это в поиск; результат — ничего не найдено.Почему этот код не ищет название категорий состоящих более чем из одного слова?(
Есть какие-нибудь предложения по изменению кода?
ну непонятна ситуация с {$n}, какое значение получает переменная $n не ясно поставьте вместо {$n} символ %
ну еще предполжение на счет кодировки сравнения установленой для этой БД, а вообще какая у вас кодирвка БД?а вообще какая у вас кодирвка БД?
utf8_general_ci
- Тема «Search Everything» закрыта для новых ответов.