на сайте пропал поиск
-
на сайте пропал поиск, любой запрос возвращает сообщение, что ничего не найдено. Движок стандартный, тема тоже. Раньше хоть и не очень качественно, но работал, теперь вообще ничего.
Как с этим бороться? Хотя бы в каком направлении копать
-
Хотя бы в каком направлении копать
в направлении пп4-6,8. Особое внимание обратить на слова про кеш.
Спасибо за наводку, но не помогло. Тема по умолчанию — Twenty Ten, без модификаций. Плагины все отключил, кэш почистил, плагина кэширования нет, другие браузеры попробовал. Проблема не ушла.
Поиска нет абсолютно!
Как такое может быть?
Хотя бы в каком направлении копать
Как вариант для начала:
1. поставить плагин https://wordpress.org/plugins/debug-bar/
2. в wp-config.php перед
/* That's all, stop editing! Happy blogging. */
добавить
define('SAVEQUERIES', true);
3. запустить на сайте поиск слова, которое точно есть.
4. Найти в выводе дебагера SQL-запрос, в котором есть искомое слово. Должен выглядеть примерно так:
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND (((wp_posts.post_title LIKE '%котег%') OR (wp_posts.post_content LIKE '%котег%'))) AND wp_posts.post_type IN ('post', 'page', 'attachment') AND (wp_posts.post_status = 'publish' OR wp_posts.post_author = 1 AND wp_posts.post_status = 'private') ORDER BY wp_posts.post_title LIKE '%котег%' DESC, wp_posts.post_date DESC LIMIT 0, 10
5. Скопировать его и выполнить в phpmyadmin.
Так можно определить 1) насколько корректный запрос генерирует движок и 2) ищется ли слово в базе.
Прим. Можно начать прямо с запроса, заменив префикс таблиц на актуальный и котега на слово, которое точно есть в постах.
сорри, только сегодня добрался до этого вопроса.
Плагин поставил, но где увидеть вывод SQL-запроса?
поставил второй плагин — Debug Bar Console, появилась консоль дебагера. Делаю запрос на поиск, но в консоли записи не появляются.
Самому сделать запрос сложно
похоже нашел зацепку, поиск отсутствует только для русских слов. На английском находит.
Похоже где-то птичка то ли лишняя, то ли не хватает. Как найти эту птичку, где она может быть?
кодировку базы данных смотрите.
и чтобы совпадало с прописанным в wp-config.phpок, а если не совпадет, ее можно просто вручную поменять?
похоже трабл, часть таблиц cp1251_general_ci, а несколько utf8_general_ci
В конфиге cp1251
и кстати, эти таблицы, которые на utf8_general_ci, они от плагина остались. Из можно просто удалить в PHP MyAdmin?
удалил таблицы, осталось в базе кодировка cp1251_general_ci, в конфиге cp1251.
Это нормально или все-таки надо делать полностью одинаковым название кодировки?
перебил везде кодировку, оставил только cp1251_general_ci и в базе данных, и в конфиге. Поиск увы не изменился, находит по английским словам, русские ничего не находит.
Где еще могут быть глюки с кодировкой?
может быть здесь еще играет роль, что в php admin пишет, что
MySQL-кодировка: UTF-8 Unicode (utf8)
Сопоставление соединения с MySQL utf8_unicode_ciТ.е. кодировка базы cp1251_general_ci, а MySQL — utf8_unicode_ci Подскажите, плз
в wp-config.php что написано?
define('DB_CHARSET', 'utf8'); define('DB_COLLATE', 'utf8_general_ci');
это при UTF8 кодировке.
честно говоря — я понятия не имею, как нынче wordpress завести на кодировке, отличной от UTF8. у него даже в опциях выбор кодировки пропал давным давно, так как UTF8 это уже стандарт.
в конфиге так
define('DB_CHARSET', 'cp1251'); define('DB_COLLATE', '');
как тут получилась эта кодировка тоже не могу вспомнить, все вроде ставилось по умолчанию. Давно это было
У меня тоже. Предполагаю, что это связано с кодировкой.
- Тема «на сайте пропал поиск» закрыта для новых ответов.