Янв
19

Search Regex — решение глюка в WordPress не находит страницу

Author admin    Category Полезное     Tags

Найти страницу в вордпрессПоиск информации в вордпресс (будь то админка или фронтенд) — явно не самая проработанная функция в системе. Несколько раз в блоге я публиковал решение задач, связанных с этим вопросом — было и про поиск пользователей, и про использование категорий в поиске. Сегодня рассмотрим проблему, когда WordPress не находит страницу по заданному запросу. Это достаточно старый глюк, и мне лично непонятно почему до сих пор он так и не был исправлен.

Ситуация больше актуальна для WP сайтов, где пользователи создают достаточно много страниц, в блогах их обычно не более 10-20 штук.

Суть проблемы заключается в следующем. Вы заходите в раздел «Страницы», вводите слово, по которому хотите найти информацию и кликаете по кнопке поиска.

Глюк в WordPress не находит страницу

Результаты показываются, только все это посты (записи), а не страницы (Page). Не смотря на то, что внешний вид «окружения» вроде как соответствует страницам (подсвечивается активный раздел, есть число опубликованных элементов), в области контента показаны именно заметки блога.

Если честно, не совсем ясно почему так происходит. Если смотреть URL`ы страниц в админке, то там, как и в постах, используется линк по типу post.php?post=xxxxx. Поэтому можно было понять, если бы в результатах поиска показывались обе сущности, но там происходит какая-то «подмена понятий»:)

Поиск решения проблемы как в админке вордпресс найти страницу занял чуть больше времени, чем я рассчитывал. Сложно было выбрать подходящий плагин, некоторые протестированные модули не работали, многие устарели на года 2-3. Чаще всего рекомендовали использовать Relevanssi, который ищет не только по сайту, но и админке (во фронтенде и бэкенде). Однако плагин оказался черезчур мощным, в нем даже есть построение своего индекса, как у поисковых систем. Я подумал, что для нахождения 2-3 страниц в системе это чрезмерная функциональность. В итоге остановился на Search Regex.

Плагин Search Regex

Плагин Search Regex

Данный плагин добавляет в систему более мощную функцию поиска и замены, которая поддерживает регулярные выражения. Скачать можете здесь. Он позволяет искать практически любую информацию на сайте. Особенно это будет полезно, если проект существует не один год, и данных накопилось достаточно много. Например, вдруг вы захотите поменять структуру URL’ов некоторых записей или изображений и т.п.

Фактически, плагин Search Regex можно отнести к модулям, работающих с базой данных. К счастью, он также позволяет в вордпресс найти страницу при поиске в админке системы. После установки заходите в раздел «Инструменты» — пункт меню «Search Regex». Там имеется следующая форма поиска.

Search Regex - как в вордпресс найти страницу

В поле Search pattern вводите нужный запрос и кликаете по кнопке Search. Все предельно просто. Итого в примере выше получилось 32 результата, что гораздо больше 24-х постов, найденных с помощью классического поиска. В этой всей ситуации есть только один недостаток — плагин учитывает регистр, то есть мне пришлось бы проводить 2 разных поиска сначала для «Chrome», а затем для «chrome». Хотя, это скорее особенность, которую нужно учитывать.

Плюсов у Search pattern хватает:

  • В качестве источника можете выбрать не только посты, но и отдельно заголовки, URL’ы, комментарии. Удобно, когда требуется найти данные в определенной сущности и не хочется просматривать лишнюю информацию.
  • Есть возможность не только поиска, но и замены.
  • Поддерживаются регулярные выражения.

Чтобы запись была изменена в БД нужно кликать по кнопке «Replace & Save», иначе она будет просто отображаться в результатах. Кроме того, учитывая то, что модуль работает непосредственно с базой данных, при внесении значительных изменений советую изначально делать бекапы. В целом, радует, что модуль достаточно прост и позволяет справиться с проблемой когда WordPress не находит страницу в поиске.



Прокомментировать

Новые шаблоны и статьи

Рубрики

Популярные шаблоны

Мы помогаем детям


KosynokBannerNetwork