Как сделать поиск по сайту wordpress
Для тех кто пользовался стандартным поиском WordPress не будет новостью что он, мягко говоря, не удобный для пользования. Почему разработчики не усовершенствуют его никому не понятно, но факт остается фактом.
По этой причине создатели популярных плагинов для WordPress много потрудились и привнесли значительный вклад в развитие поисковых возможностей для сайта на самом популярном “движке”.
Поиск по сайту WordPress
Практически на любом сайте существует форма поиска по фразам которые интересуют читателей. Хорошо настроенный поиск улучшит взаимопонимание с вашими клиентами и просто посетителями.
Увы, но разработчики WordPress платформы не позаботились о том, что бы дать пользователям CMS подходящий поисковой модуль по умолчанию, сразу после установки платформы на сервер. По этой причине были созданы множество дополнений, которые способны анализировать, находить и подсвечивать нужные слова или фразы в контенте, что безусловно увеличит количество переходов и время проведения на сайте.
Как улучшить поиск в WordPress?
Что же предлагают нам разработчики плагинов? А предлагают они нам множество, огромное количество вариаций своих творений, обсуждать каждый из плагинов для улучшения поиска по сайту WordPress мы явно не будем. Скажем только что достойных много как платных так и бесплатных, с различным функционалом.
Я решил остановить свое внимание на плагине Search Everything, который дополняет и усовершенствует поиск по сайту WordPress. Почему именно на нем? Всему причиной является его простота и в то же время качественный функционал.
Что же приступим, установим Search Everything. Находим его через поиск плагинов и активируем. Визуально в роди бы ничего не изменилось но давайте копнем глубже.
Настройка Search Everything плагина для поиска по сайту WordPress.
Дословный перевод “поиск всего”. Что же может это дополнение? Заходим панели администрирования WordPress в “Настройки”/”Search Everything”.
Первые параметры настройки поиска выглядят примерно так:
Enable research tool on compose screen. Этот чекбокс подключает инструменты поиска к нашему сайту.
Enable search results from the web on compose screen. Предлагает нам так же задействовать поиск с интернет страниц, эта галочка нам ни к чему, ведь она потенциально может увести нашего посетителя с нашего сайта, что нам конечно же не нужно.
Следующий блок поисковых настроек плагина Search Everything заключаются в следующем:
По этим параметрам мы можем настроить места в которых будет осуществляться поиск по сайту.
Третий блок настроек плагина Search Everything содержит:
Форма, позволяющая исключать категории и записи при выдаче поиска, а так же возможность изменять настройки подсветки искомых слов.
Собственно вот такими не сложными операциями мы значительно увеличили функционал и производительность нашего поиска по сайту.
Не пренебрегайте данным плагином, он не грузит вашу платформу на столько, что бы это было ощутимым, а “выхлоп” от его работы достаточно весомый.
На этом урок по настройке и улучшению поиска по сайту WordPress закончен. Рекомендуем вам так же изучить другие наши простые уроки по использованию WordPress и окунуться в мир безграничных возможностей данной платформы.
Часто случается, что нужно сделать поиск по сайту WordPress (а это значит и по базе данных, так как контент находится там), с целью замены слова или строки по какой-либо из причин:
Вариант 1: Используем плагин
Плагины ежедневно делают жизнь владельцев сайтов WordPress проще. Если у вас нету опыта разработки или вы просто не хотите морочить себе голову запуском SQL запросов, тогда вы можете просто использовать плагины, как, например, Better Search Replace или Search & Replace для выполнения этой задачи. Прежде всего нужно установить плагин. Сделать это можно через админ консоль своего WordPress сайта(англ.), перейдя в раздел Плагины -> Добавить новый.
В поле для поиска напишите Better Search Replace и установите его.
Нажмите Активировать сразу после установки и плагин вступит в силу. Вы сможете его найти в меню Инструменты -> Better Search Replace.
Дальше, вам нужно будет ввести данные, которые вы хотите изменить:
- Искать — поле, в котором должна быть строка или слово для замены.
- Заменить на — здесь введите значение, на которое вы хотите заменить значение из поля выше.
- Выбор таблиц — здесь вы можете выбрать таблицы базы данных, в которых будет производиться операция. Если вы желаете выбрать все, используйте комбинацию CTRL+A. Или выберите отдельные таблицы удерживая CTRL и нажимая курсором мыши.
- Если вы хотите, чтобы поиск по сайту производился Без учета регистра, убедитесь, что этот чекбокс отмечен.
- Отметьте чекбокс Холостой запуск? (без замены), если хотите посмотреть изменения перед их применением.
Если вы запустили плагин не на холостом запуске, он быстро внесёт изменения в вашу базу данных и вы увидите результат, подобный этому:
Поздравляем! Вы успешно отредактировали все ваши таблица базы данных WordPress используя плагин.
Вариант 2: Используем запрос MySQL
Также возможно осуществить поиск и замену используя инструмент phpMyAdmin, ссылка на который обычно находится в панели управления хостингом.
Если у вас много баз данных в вашем аккаунте, вы можете открыть файл wp-config.php, чтобы найти имя базы данных, которую использует ваш сайт.
Когда вы войдёте в phpMyadmin, выберите базу данных, которую использует ваш сайт на WordPress и нажмите вкладку SQL.
Это синтаксис запроса, который вы будете использовать для выполнения операции:
Например, если вы хотите обновить таблицу записей wp_posts, вы можете это сделать выполняя такой запрос:
Примечание: wp_ нужно заменить на соответствующий префикс, используемый в таблицах вашей базы данных WordPress.
Когда завершите составление запроса, нажмите на кнопку “Go”.
После нескольких мгновений обработки, вы увидите сколько строк было исправлено.
Прекрасная работа! Вы только что ознакомились с управлением данными в вашей базе данных WordPress, используя SQL запрос в phpMyadmin, и сделали поиск по сайту и замену нужных строк.
Заключение
Многие вещи в WordPress делаются очень просто и поиск по сайту с последующей заменой не исключение. Если вы хорошо знакомы с SQL и не хотите устанавливать вспомогательный плагин для поиска и замены, тогда второй вариант идеально подходит для вас. Однако, если вы не хотите слишком углубляться в составление запросов, плагин сделает за вас всю необходимую работу, и это первый вариант.
Елена имеет профессиональное техническое образование в области информационных технологий и опыт программирования на разных языках под разные платформы и системы. Более 10 лет посвятила сфере веб, работая с разными CMS, такими как: Drupal, Joomla, Magento и конечно же наиболее популярной в наши дни системой управления контентом – WordPress. Её статьи всегда технически выверены и точны, будь то обзор для WordPress или инструкции по настройке вашего VPS сервера.
От автора: в этой статье я покажу вам, как добавить в WordPress продвинутый поиск, с помощью которого пользователи смогут искать и получать контент из определенных постов пользовательского типа, фильтровать результаты поиска по пользовательским таксономиям и множеству других пользовательских полей.
Большая часть преимуществ WordPress идет из его гибкой архитектуры данных, с помощью которой разработчики могут широко настраивать свои системы с помощью пользовательских типов постов, таксономий, а также пользовательских полей. Однако когда речь заходит о поиске в WordPress, то пользователю предоставляется всего одно поле, которое зачастую ведет себя настолько неадекватно, что администраторы загружают внешние поисковые системы наподобие Google Custom Search или сторонних плагинов.
Статья разделена на 2 части. В первой я расскажу в теории, как обработать запрос пользователя, начиная от передачи URL, процесса выполнения запроса и до вывода результата. А вторая часть это конкретное применение полученной теории из первой части, в ней мы создадим свою продвинутую поисковую систему. Давайте разберем парочку ключевых концепций.
Запросы пользователя
Когда пользователь переходит по ссылке или вбивает URL определенной страницы вручную, WordPress выполняет серию операций, хорошо описанную в Query Overview. Если коротко, то происходит следующее:
WordPress разбирает запрашиваемый URL на набор параметров (которые называются спецификация запроса).
Изучите курс и узнайте, как создавать мультиязычные темы с нестандартной структурой страниц
Спецификация запроса конвертируется в MySQL запрос, который посылается в базу данных.
Полученные из БД данные хранятся в объекте $wp_query.
Затем WP обрабатывает ошибку 404.
Инициализируются переменные цикла.
По правилам иерархии выбирается шаблон.
WordPress запускает цикл.
Первым происходит парсинг URL строки, так что давайте разберем строки запроса и переменные.
Переменные WP Query: стандартные и пользовательские
Приватные переменные нельзя использовать в URL строке. WP принимает строку запроса с приватными переменными, но они не пройдут парсинг. Поэтому такие переменные необходимо указывать напрямую в запросе. Пример ниже.
Для того чтобы вставить форму поиска в вашу тему WordPress, нужно вставить следующий код в любое место:
Если теперь посмотреть код сайта с встроенным поиском от WordPress, то можно увидеть что этот PHP код генерирует следующий HTML код:
Результат будет таков:
Вывод результатов поиска в WordPress
Мы создали систему поиска в WordPress, теперь если вы будете искать через этот поиск на вашем сайте, то результаты поиска будут выводится через шаблон index.php .
Что не всегда удобно!
Поэтому в WordPress можно создать специальный шаблон страницы предназначенный для вывода результатов поиска. Вот код этого шаблона:
/*
Template Name: search
*/
?>
else :
echo "Извините по Вашему результату ничего не найдено";
endif;
?>
Этот код будет выводить результаты поиска по сайту с ссылками на ваши страницы.
Синтаксис шаблона страницы с результатами поиска
дает ссылку на страницу;
выводит название страницы;
выводит адрес страницы;
выводит краткое описание страницы;
выводит дату публикации страницы.
Вам остается только поработать над дизайном и все страница готова! Ну конечно же сюда можно добавить разные вещи, например выводить миниатюру записи. За это отвечает вот такой кусок кода: , но только для этого сперва добавьте всем записям и страницам миниатюры.
WordPress поиск по записям
Есть случаи когда нужно сделать поиск только по определенным типам записей. Например если нужно сделать поиск только по записям то ставим вот такую форму:
Это так называемый WordPress поиск по записям который ищет только в записях а не на страницах. Для этого мы добавили только одно поле:
Здесь value="post" имеет значение post , то есть запись. А если у вас есть произвольное поле book то ставите вот так:
Еще здесь стоит тип поля hidden, ну вы наверное знаете что это означает, это означает что поле должно быть не видимым. Если хотите чтобы было видимо то ставите вместо hidden другое значение, например text.
Читайте также: