Поддержка Проблемы и решения Как исключить из поиска вордпресс стили?

  • При поиске по сайту в выдаче учитываются все записи, в которых есть указание стилей, например слово выделено крупным шрифтом или тегом span и тп. Соответственно, если ввести в поиск тот же span, то выведутся все записи с ним. (его не видно в визуальном редакторе, только если перейти в текстовый) Как сделать так, чтобы поиск вордпресса не учитывал html разметку при поиске, а искал только по содержимому статьи?

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Покажите пример поиска со стилями. Обычно посетители вводят в поле поиска текст, Вряд-ли кому-то в голову придёт вводить в поле поиска html разметку.

    Ни кто не вводит в поле поиска html разметку. Но делов том, что символы, которые в ней встречаются, находятся поиском.

    https://chemicalstudy.ru/himicheskie-reaktsii/ Тут находится поиск по сайту. Попробуйте вписать span или si, все записи находятся…А нужно только те, в которых без html кода есть такие буквы.

    Это понятно, но зачем кому-то вписывать span или si в поле поиска? Или Вы опасаетесь, что будут искать реакции с кремнием (Si) и будет много лишних результатов? Тогда это действительно проблема.

    Да да, именно так. Неужели за столько лет разработки wordpress ни кто не смог нормально решить такой вроде бы простой вопрос? Ведь очевидно, что в поиск не должно ничего такого попадать…

    • Ответ изменён 1 неделя, 1 день назад пользователем evgeny17.

    Есть различные плагины поиска, может найдется который Вас устроит:

    https://ru.wordpress.org/plugins/search/search/

    Модератор Юрий

    (@yube)

    такой вроде бы простой вопрос

    Именно что вроде бы. На самом деле всё непросто. В примитивных, встроенных в движки поисковых скриптах, как правило, используется поиск средствами БД (mysql в нашем случае), для которых всё едино: что тексты, что теги, что шорткоды — потому что разница существует в, так сказать, другом пространстве. Даже для относительно продвинутых поисковых подсистем типа Сфинкса, поддерживающих стоп-слова, не всё однозначно, если подлежащие поиску слова совпадают с тегами. Для того, чтобы поиск не видел тегов, для поиска надо отдельно готовить текст, из которого убраны все теги, что, поверьте, задача не настолько тривиальная, как может показаться с первого взгляда. Впрочем, в первом приближении сойдет и php-шная функция strip_tags() и wp-шная strip_shortcodes(). Хотя с другой стороны, шорткоды в тексте, возможно, и должны отрабатывать при подготовке текста для поиска.

    Как вариант можно использовать «Яндекс.Поиск для сайта».

Просмотр 7 ответов — с 1 по 7 (всего 7)