Как создать пользовательский поиск в WordPress без плагина
Опубликовано: 2022-07-25Хотите знать, как создать пользовательский поиск в WordPress без плагина?
Настроив поиск на своем сайте, вы можете увеличить количество просмотров страниц, повысить продажи и помочь своим посетителям быстрее находить то, за чем они пришли.
В этой статье мы поговорим о том, как вы можете настроить поиск на своем сайте без установки плагина и почему вам все же следует подумать об использовании плагина для этого.
Вот оглавление, которое поможет вам быстро ориентироваться в этой статье:
- Почему пользовательский поиск важен для вашего сайта WordPress?
- Недостатки создания пользовательского поиска без плагина
- Самый простой способ настроить поиск WordPress на вашем сайте
- Создайте пользовательский поиск в WordPress без плагина
Давайте начнем!
Почему пользовательский поиск важен для вашего сайта WordPress?
Для начала давайте поговорим о том, как пользовательский поиск на вашем сайте может помочь вам в развитии вашего бизнеса.
Настройка поиска на вашем сайте позволяет:
- Предоставляйте более релевантные результаты поиска . Ограничьте поиск определенными категориями, чтобы сузить результаты поиска и помочь посетителям быстрее найти то, что они ищут.
- Получите больше просмотров страниц и продаж . Повысьте вероятность обнаружения своего контента и увеличьте свой доход, продвигая определенные публикации или продукты в результатах поиска.
- Создайте лояльную аудиторию . Посетители, у которых был положительный опыт поиска на вашем сайте, с большей вероятностью вернутся снова, чтобы изучить больше вашего контента.
- Привлекайте больше трафика из поисковых систем . Помогая посетителям быстрее находить нужный контент, вы заставляете их дольше оставаться на вашем сайте, что является одним из основных факторов ранжирования в Google.
После того, как мы выяснили, какие преимущества пользовательский поиск может принести вашему бизнесу, давайте поговорим о том, какие недостатки вы можете ожидать, если будете делать это без плагина.
Недостатки создания пользовательского поиска без плагина
Вы должны учитывать несколько основных недостатков, если хотите создать пользовательский поиск на своем сайте без плагина.
1. Требуются навыки программирования и глубокие знания WordPress
Основным недостатком ручной настройки поиска по сайту является то, что он требует большого опыта программирования и глубоких знаний WordPress.
Дело в том, что в WordPress нет инструментов настройки поиска по умолчанию.
В связи с этим единственный способ настроить поиск — изменить основные файлы WordPress и код вашей темы.
Это неудобно, отнимает много времени и не подходит для людей, не разбирающихся в технологиях.
Более того, если вы сделаете что-то не так, это может привести к краху вашего сайта, поэтому вы должны быть очень осторожны при настройке файлов темы.
2. У вас будет меньше функций
Кроме того, даже если у вас есть обширные навыки программирования, количество пользовательских функций поиска, которые вы можете добавить без плагина, ограничено.
Например, вы не можете добавить несколько поисковых систем с уникальным набором правил, исключить определенные страницы или категории из поиска, управлять порядком результатов поиска и многое другое.
Поэтому, если для вас крайне важно получить полный контроль над тем, как работает поиск на вашем сайте, вам следует рассмотреть возможность использования мощного поискового плагина WordPress.
3. Вы можете потерять свои изменения
Наконец, поскольку настройка поиска без плагина требует внесения изменений в файлы вашего сайта, вы потеряете все сделанные вами изменения при обновлении темы или версии WordPress.
Лучший способ избежать таких ситуаций — использовать поисковый плагин WordPress, так как он сохраняет ваши настройки, что бы вы ни делали со своим сайтом.
Итак, давайте посмотрим, как вы можете настроить поиск на своем сайте в несколько кликов, без необходимости кодирования и независимо от ваших технических навыков.
Самый простой способ настроить поиск WordPress на вашем сайте
Самый простой способ настроить поиск на вашем сайте WordPress — использовать такой плагин, как SearchWP.
SearchWP — это поисковый плагин WordPress с самым высоким рейтингом, которому доверяют более 30 000 владельцев веб-сайтов.
Удобный для начинающих интерфейс и мощные функции позволяют полностью настроить поиск, даже если вы запускаете свой первый веб-сайт.
Например, с помощью SearchWP вы можете управлять тем, где WordPress должен искать совпадения, ограничивать поиск определенным типом контента, включать поиск по тегам и настраиваемым полям и многое другое.
Лучше всего то, что вы можете сделать большинство из этих вещей всего за несколько кликов.
Вы также можете использовать SearchWP для:
- Показать результаты поиска в режиме реального времени . Включите динамическое отображение результатов поиска на своем сайте, чтобы ваши посетители могли мгновенно переходить к нужному контенту.
- Отслеживайте поиски ваших посетителей . Собирайте данные о том, что посетители ищут на вашем сайте, какие результаты наиболее кликабельны и другие ценные данные.
- Выделите условия поиска в результатах поиска . Помогите своим посетителям быстрее определить, нашли ли они нужный контент, выделив ключевые слова в результатах поиска.
- Исключить определенные страницы из поиска . Избавьтесь от беспорядка в результатах поиска на своем сайте, исключив дублирующие страницы и устаревший контент.
После того, как вы узнаете, почему SearchWP является лучшим поисковым плагином WordPress, давайте посмотрим, как вы можете использовать его для настройки поиска на вашем сайте в соответствии с вашими потребностями.
Шаг 1: Установите и активируйте SearchWP
Первый шаг — взять свою копию SearchWP здесь.
После этого перейдите на панель инструментов своей учетной записи SearchWP и нажмите « Загрузки ».
Затем нажмите кнопку Download SearchWP и сохраните плагин на свой компьютер.
После загрузки скопируйте лицензионный ключ SearchWP в нижний левый угол.
Далее вам необходимо установить SearchWP на свой сайт. Если вам нужна помощь, вы можете следовать нашему подробному руководству по установке плагина WordPress.
После того, как вы запустите SearchWP на своем сайте, следующим шагом будет активация вашей копии плагина.
Для этого перейдите на панель инструментов WordPress и нажмите « Активировать лицензию » под кнопкой SearchWP на верхней панели.
После этого введите лицензионный ключ в поле Лицензия и нажмите Активировать .
После того, как вы активируете свою копию SearchWP, вы готовы приступить к настройке поиска.
Шаг 2. Начните настраивать поиск
Чтобы начать, нажмите Engines в настройках SearchWP.
На этой вкладке вы можете добавлять, удалять и настраивать свои поисковые системы.
SearchWP автоматически создает поисковую систему по умолчанию после установки.
Он связан с каждой существующей формой поиска, поэтому, настроив его, вы можете контролировать работу поиска на своем сайте.
Например, вы можете управлять списком своих источников поиска, заставить WordPress учитывать новые атрибуты контента, ограничивать поиск определенными категориями и т. д.
С SearchWP вы можете добавлять неограниченное количество поисковых систем и подключать их к отдельным поисковым формам на вашем сайте.
Благодаря этому вы можете быстро создавать настраиваемые формы поиска для различных нужд бизнеса и размещать их в любом месте на своем сайте.
Поскольку в этом руководстве мы хотим настроить работу поиска по всему сайту, мы отредактируем поисковую систему по умолчанию .
Во-первых, давайте укажем, где WordPress будет искать контент, настроив список источников поиска.
Управляйте источниками поиска
Чтобы начать, нажмите кнопку « Источники и настройки » в разделе «Поисковая система по умолчанию ».
Здесь вы можете указать, где WordPress должен искать совпадения. По умолчанию он ищет среди записей, страниц и медиафайлов .
Чтобы удалить источник поиска, снимите флажок рядом с ним. Например, давайте ограничим поиск на нашем сайте только постами.
Для этого мы снимем галочки со всех остальных источников, кроме сообщений , а затем нажмем « Готово », чтобы сохранить изменения.
После того, как мы настроили наш список источников поиска, давайте также улучшим наш поиск, заставив WordPress учитывать атрибуты записей и таксономии.
Настройте атрибуты поиска
Чтобы начать, нажмите кнопку « Добавить/удалить атрибуты » в разделе «Источник поиска сообщений ».
В появившемся окне вы можете указать атрибуты и таксономии, которые WordPress должен учитывать при выполнении поиска.
Чтобы сделать определенное настраиваемое поле доступным для поиска, щелкните поле « Настраиваемые поля» и введите его имя.
Существует также ярлык Any Meta Key , добавив который, вы можете сделать доступными для поиска сразу все существующие поля поиска.
Когда вы закончите добавлять настраиваемые поля, давайте также создадим таксономию индекса WordPress.
В WordPress таксономии — это метод классификации контента и данных. Например, это могут быть категории постов, теги, формат или что-то еще.
Чтобы сделать новую таксономию доступной для поиска, щелкните поле Таксономии и выберите нужную таксономию.
Например, давайте заставим WordPress учитывать теги сообщений при выполнении поиска. Для этого выберите опцию « Теги » в раскрывающемся меню.
Вы также можете заставить WordPress игнорировать атрибуты записей по умолчанию, такие как Title , Content , Slug и Excerpt , сняв флажки рядом с ними.
После того, как вы закончите управлять атрибутами источника поиска сообщений , нажмите « Готово », чтобы сохранить изменения.
Теперь давайте посмотрим, как можно сузить область поиска, чтобы предоставить посетителям более релевантные результаты.
Ограничить поиск определенной категорией сообщений
Чтобы начать, нажмите кнопку « Изменить правила» .
Затем нажмите «Добавить правило» .
Здесь вы можете добавить правила, по которым WordPress будет фильтровать контент в результатах поиска.

Например, вы можете добавить правило, чтобы исключить определенные категории из вашего поиска или, наоборот, ограничить поиск ими.
Предположим, мы хотим ограничить поиск на нашем тестовом сайте категорией « Новости ».
Для этого сначала убедитесь, что вы выбрали параметр « Показывать только записи, если: » и таксономию « Категории ».
Затем введите название категории, которой вы хотите ограничить поиск, в крайнем правом поле. В нашем случае это будут новости .
После того, как вы закончите настройку правил своей поисковой системы, нажмите « Готово », чтобы сохранить изменения.
Когда вы довольны тем, как вы настроили свой поиск, вы готовы перейти к последнему шагу и сохранить свою поисковую систему.
Сохраните свою поисковую систему
Для этого нажмите « Сохранить движки» в правом верхнем углу панели инструментов SearchWP.
Затем нажмите « Перестроить индекс », чтобы WordPress переиндексировал весь ваш контент и применил новые настройки поисковой системы.
Вот и все. Вы полностью настроили поиск под свои нужды, не написав ни строчки кода.
Давайте протестируем ваш новый поиск, чтобы убедиться, что он работает в соответствии с вашими настройками.
Шаг 3. Проверьте новый поиск
Для начала зайдите на свой сайт и выполните тестовый поиск. Например, поскольку мы сделали теги постов доступными для поиска, давайте попробуем найти пост только по его тегам.
На нашем тестовом сайте у нас есть пост под названием «Новые возможности WordPress» с тегом «Обновления».
Давайте поищем по этому тегу и посмотрим, сможем ли мы найти наш пост.
Мы нашли пост, хотя в его названии, выдержке или содержании нет слова «обновления».
Это означает, что наша поисковая система теперь учитывает теги сообщений при поиске совпадений.
Давайте также сделаем так, чтобы поиск на нашем сайте теперь ограничивался категорией «Новости».
Для этого мы будем искать «WordPress», так как у нас есть много сообщений, связанных с WordPress в других категориях.
Вы можете видеть, что среди результатов поиска, которые мы получили, отображаются только сообщения из категории « Новости ».
Это означает, что правило, которое мы добавили в нашу поисковую систему, которое гласит, что WordPress должен искать только среди новостей, работает как надо.
Итак, вы только что узнали самый простой способ настроить поиск. Теперь давайте посмотрим, как это можно сделать без использования плагина.
Создайте пользовательский поиск в WordPress без плагина
Чтобы настроить поиск без плагина, вам нужно будет внести изменения в свою тему.
Самый безопасный способ сделать это — создать дочернюю тему текущей темы, которую вы используете на своем сайте.
Таким образом, когда вы вносите изменения в дочернюю тему, ваша родительская тема остается нетронутой, что позволяет вам быстро переключиться на нее в случае критических ошибок.
Кроме того, наличие дочерней темы позволяет обновлять родительскую тему без потери изменений. Для получения дополнительной информации о том, как создать дочернюю тему, ознакомьтесь с руководством по созданию дочерней темы.
После создания и активации дочерней темы вы готовы приступить к настройке поиска.
Чтобы начать, перейдите в « Внешний вид» Редактор файлов темы на панели управления WordPress.
Затем на правой панели найдите файл functions.php и нажмите на него.
После этого следуйте приведенным ниже инструкциям в зависимости от того, какие настройки вы хотите выполнить для поиска на своем сайте.
Включить поиск сообщений по тегам и категориям
Чтобы теги и категории записей были доступны для поиска на вашем сайте без плагина, добавьте следующий код в файл functions.php вашей темы:
/* * ---------------------------------------------------------- * * Search Posts by Tags and Categories * * ---------------------------------------------------------- */ /** * Join the terms, term_relationship, and term_taxonomy tables. * * @global $wpdb * * @param string $join The JOIN clause. * @param object $query The current WP_Query instance. * * @return string The JOIN clause. */ function search_custom_posts_join( $join, $query ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $join; } $join .= " LEFT JOIN ( {$wpdb->term_relationships} INNER JOIN {$wpdb->term_taxonomy} ON {$wpdb->term_taxonomy}.term_taxonomy_id = {$wpdb->term_relationships}.term_taxonomy_id INNER JOIN {$wpdb->terms} ON {$wpdb->terms}.term_id = {$wpdb->term_taxonomy}.term_id ) ON {$wpdb->posts}.ID = {$wpdb->term_relationships}.object_id "; return $join; } add_filter( 'posts_join', 'search_custom_posts_join', 10, 2 ); /** * Modify the WHERE clause to include searches against taxonomies. * * @global $wpdb * * @param string $where The WHERE clause. * @param WP_Query $query The current WP_Query instance. * * @return string The WHERE clause. */ function search_custom_posts_where( $where, $query ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $where; } // Get additional where clause for the user. $user_where = ''; $user_id = get_current_user_id(); $status = array( "'publish'" ); // Include private posts if the user is logged in. if ( $user_id ) { $status[] = "'private'"; $user_where .= " AND {$wpdb->posts}.post_author = {$user_id}"; } $user_where .= " AND {$wpdb->posts}.post_status IN( " . implode( ',', $status ) . " ) "; $where .= " OR ( {$wpdb->term_taxonomy}.taxonomy IN( 'category', 'post_tag' ) AND {$wpdb->terms}.name LIKE '%" . esc_sql( get_query_var( 's' ) ) . "%' {$user_where} )"; return $where; } add_filter( 'posts_where', 'search_custom_posts_where', 10, 2 ); /** * Set the GROUP BY clause to post IDs. * * @global $wpdb * * @param string $groupby The GROUPBY clause. * @param WP_Query $query The current WP_Query instance. * * @return string The GROUPBY clause. */ function search_custom_posts_groupby( $groupby, $query ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $groupby; } return "{$wpdb->posts}.ID"; } add_filter( 'posts_groupby', 'search_custom_posts_groupby', 10, 2 );
Когда вы закончите, нажмите кнопку « Обновить файл» , чтобы сохранить изменения.
Теперь посетители вашего сайта могут искать записи по тегам и категориям.
Включить поиск по содержимому комментариев и именам авторов
Чтобы сделать комментарии и имена авторов доступными для поиска на вашем сайте без плагина, добавьте следующий код в файл functions.php вашей темы:
/* * ---------------------------------------------------------- * * Search by Comment Content and Author Names * * ---------------------------------------------------------- */ /** * Joins the comments and posts tables. * * @global $wpdb * * @param string $join The JOIN clause. * @param object $query The current WP_Query instance. * * @return string The JOIN clause. */ function search_custom_comments_posts_join( $join, $query ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $join; } $join .= ' LEFT JOIN ' . $wpdb->comments . ' ON ' . $wpdb->posts . '..comment_post_ID '; return $join; } add_filter( 'posts_join', 'search_custom_comments_posts_join', 10, 2 ); /** * Modify the WHERE clause to include searches against comments. * * @global $wpdb * * @param string $where The WHERE clause. * @param WP_Query $query The current WP_Query instance. * * @return string The WHERE clause. */ function search_custom_comments_posts_where( $where, $query ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $where; } $where = preg_replace( "/\(\s*" . $wpdb->posts . ".post_title\s+LIKE\s*(\'[^\']+\')\s*\)/", "(" . $wpdb->posts . ".post_title LIKE $1) OR (" . $wpdb->comments . ".comment_author LIKE $1) OR (" . $wpdb->comments . ".comment_content LIKE $1)", $where ); return $where; } add_filter( 'posts_where', 'search_custom_comments_posts_where', 10, 2 ); /** * Prevent search results duplicates. * * @param string $distinct The DISTINCT clause. * @param WP_Query $query The current WP_Query instance. * * @return string The DISTINCT clause. */ function search_custom_comments_posts_distinct( $distinct, $query ) { if ( ! is_main_query() || ! is_search() ) { return $distinct; } return 'DISTINCT'; } add_filter( 'posts_distinct', 'search_custom_comments_posts_distinct', 10, 2 );
Когда вы закончите, нажмите кнопку « Обновить файл» в нижней части редактора, чтобы сохранить изменения.
Теперь ваши посетители могут выполнять поиск по содержанию комментариев и именам авторов.
Включить поиск по настраиваемым полям публикации
Чтобы сделать настраиваемые поля доступными для поиска на вашем сайте без плагина, добавьте следующий код в файл functions.php вашей темы:
/* * ---------------------------------------------------------- * * Search by Post Custom Fields * * ---------------------------------------------------------- */ /** * Joins the postmeta and posts tables. * * @global $wpdb * * @param string $join The JOIN clause. * @param object $query The current WP_Query instance. * * @return string The JOIN clause. */ function search_custom_meta_posts_join( $join, $query ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $join; } $join .=' LEFT JOIN '.$wpdb->postmeta. ' ON '. $wpdb->posts . '..post_id '; return $join; } add_filter( 'posts_join', 'search_custom_meta_posts_join', 10, 2 ); /** * Modify the WHERE clause to include searches against postmeta. * * @global $wpdb * * @param string $where The WHERE clause. * @param WP_Query $query The current WP_Query instance. * * @return string The WHERE clause. */ function search_custom_meta_posts_where( $where ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $where; } $where = preg_replace( "/\(\s*" . $wpdb->posts . ".post_title\s+LIKE\s*(\'[^\']+\')\s*\)/", "(" . $wpdb->posts . ".post_title LIKE $1) OR (" . $wpdb->postmeta . ".meta_value LIKE $1)", $where ); return $where; } add_filter( 'posts_where', 'search_custom_meta_posts_where', 10, 2 ); /** * Prevent search results duplicates. * * @param string $distinct The DISTINCT clause. * @param WP_Query $query The current WP_Query instance. * * @return string The DISTINCT clause. */ function search_custom_meta_posts_distinct( $distinct, $query ) { if ( ! is_main_query() || ! is_search() ) { return $distinct; } return 'DISTINCT'; } add_filter( 'posts_distinct', 'search_custom_meta_posts_distinct', 10, 2 );
После этого нажмите кнопку « Обновить файл» в нижней части редактора, чтобы сохранить изменения.
Теперь ваши посетители могут искать сообщения по произвольным полям.
В этой статье вы узнали, как создать пользовательский поиск на своем сайте без плагина и почему использовать плагин для этой цели гораздо удобнее.
Мы надеемся, что это поможет вам принять решение и выбрать, какой метод вы предпочитаете использовать на своем сайте.
Готовы настроить поиск на своем сайте в несколько кликов? Вы можете начать работу с SearchWP здесь.
Ищете способ создать собственную тему для своего сайта? Ознакомьтесь с нашим пошаговым руководством о том, как создать пользовательскую тему WordPress.
Хотите настроить страницу результатов поиска? Следуйте нашему руководству по настройке страницы результатов поиска WordPress.