Intereting Posts
wp_logout_url ($ uri), имеющий два значения переадресации add_filter comment_edit_redirect не работает Выберите последние 2 статьи, но только из данной категории Как реализовать на этот раз php-код в Woking с моими сообщениями в WordPress Как добавить поиск в меню? Как применяются правила перезаписи в WordPress? Сообщение, добавленное через wp_insert_post с категорией, не отображается в категории. Как изменить родительское доменное имя в проекте Multisites? Пользовательский почтовый поиск что такое каталог кеша в моей теме? (контроль версий?) Преобразование всех дат, хранящихся в настраиваемом поле Попытка сделать простой плагин wordpress, имея трудности с пониманием того, как это сделать? Получение таблицы пользователей для одного сайта в многопользовательском режиме WP_Query или Simple Loop: петли не работают на пользовательских страницах или файлах шаблонов 500 – внутренняя ошибка сервера

Искать что угодно на сайте

поэтому я столкнулся с проблемой.

Что я хочу?

  • Я хочу, чтобы мой поиск обнаружил любой текст на странице

В чем проблема?

  • Поиск предназначен только для сообщений / СМИ / страниц. У меня есть один плагин, в котором я сохранил некоторые данные и эти данные видны на странице, и я хочу иметь возможность искать эти данные.

Что я пробовал?

  • Я попытался изменить поисковые запросы ( select * from wp_posts ) к чему-то, что я хотел, ничего не произошло
  • Пробовал около 15 плагинов с поиском, ничего не произошло

Итак, мой вопрос таков:

Как я могу выполнить поиск на странице wordpress, поэтому мой поиск находит ЛЮБОЙ текст на странице?

ВНИМАНИЕ:

текст не сохраняется в таблице wp_posts, также нет сообщений. Только страница с коротким кодом.

Благодаря!

Solutions Collecting From Web of "Искать что угодно на сайте"

Используйте mark.js , плагин jQuery

mark.js – такой плагин, который написан на чистом JavaScript, но также доступен как плагин jQuery. Он был разработан, чтобы предлагать больше возможностей, чем другие плагины с возможностью:

  • поиск ключевых слов отдельно, а не полный срок
  • map diacritics (Например, если «justo» также должен соответствовать «justò»)
  • игнорировать совпадения внутри пользовательских элементов
  • использовать пользовательский элемент подсветки
  • использовать пользовательский класс выделения
  • сопоставить пользовательские синонимы
  • искать также внутри iframes
  • получать не найденные условия

DEMO

В качестве альтернативы вы можете увидеть эту скрипку .

Пример использования :

 // Highlight "keyword" in the specified context $(".context").mark("keyword"); // Highlight the custom regular expression in the specified context $(".context").markRegExp(/Lorem/gmi); 

Это бесплатный и открытый open-source на GitHub ( ссылка на проект ).

Пример выделения ключевого слова mark.js с кодом

 $(function() { $("input").on("input.highlight", function() { // Determine specified search term var searchTerm = $(this).val(); // Highlight search term inside a specific context $("#context").unmark().mark(searchTerm); }).trigger("input.highlight").focus(); }); 
 mark { background: orange; color: black; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdn.jsdelivr.net/mark.js/7.0.0/jquery.mark.min.js"></script> <input type="text" value="test"> <div id="context"> Lorem ipsum dolor test sit amet </div> 

Я нашел ответ здесь . Вы также можете найти много другого ответа. Но я предпочитаю использовать плагин jQuery . Причина приведена ниже:

Почему использование функции самодельной подсветки – плохая идея

Причина, по которой, вероятно, это плохая идея начать создавать собственную функцию подсветки с нуля, потому что вы наверняка столкнетесь с проблемами, которые другие уже решили. проблемы:

  • Вам нужно будет удалить текстовые узлы с элементами HTML, чтобы выделить ваши совпадения, не разрушая события DOM и снова запуская регенерацию DOM (что было бы, например, с помощью innerHTML )
  • Если вы хотите удалить выделенные элементы, вам придется удалить элементы HTML с их содержимым, а также объединить разделенные текстовые узлы для дальнейшего поиска. Это необходимо, потому что каждый плагин с подсветкой ищет внутри текстовых узлов для совпадений, и если ваши ключевые слова будут разделены на несколько текстовых узлов, они не будут найдены.
  • Вам также потребуется собрать тесты, чтобы убедиться, что ваш плагин работает в ситуациях, о которых вы не думали. И я говорю о кросс-браузерных тестах!

Звучит сложно? Если вам нужны некоторые функции, такие как игнорирование некоторых элементов выделения, диакритическое отображение, сопоставление синонимов, поиск внутри iframe, разделенный поиск по словам и т. Д., Это становится все более сложным.

При использовании существующего, хорошо внедренного плагина вам не нужно беспокоиться о вышеупомянутых вещах.

Надеюсь, эта вещь поможет вам.

Поиск по умолчанию WP не подходит, попробуйте этот плагин: https://wordpress.org/plugins/search-everything/

Или это лучше, но вы получили оплату https://searchwp.com/ . Вы можете указать настраиваемые поля для поиска или коротких кодов.

Если ваш текст отсутствует в базе данных, вы должны использовать Google Custom Search Engine на своем веб-сайте