Авг
13
11

Улучшаем страницу с результатами поиска в wordpress

поиск по сайтуПоиск на сайте – вещь определенно нужная, часто мы не уделяем ему должного внимания. Если у вас старый, массивный и большой проект, то найти нужную информацию там становится не такой простой задачей. Для специализированный сайтов на различных CMS поиск может быть не совсем тривиальной задачей, требующей дополнительной установки. К счастью, шалбонах wordpress данная сложность попросту ликвидирована – наверное 99% дизайнов имеют в своей структуре работающий поиск – вам остается лишь активировать тот или иной шаблон для блога.

Поиск в wordpress, конечно, на любителя. Изначально в вашем шаблоне может выводиться вариант с обрезанным видом анонса статьи. То есть, выводится заголовок, мета данные и с помощью функции the_excerpt отображается часть поста длинною вроде бы в 55 символов. Не всегда в дизайне это выглядит красиво и здорово, поэтому лично я стараюсь сделать страницу поиска похожей на архивные разделы.  Кроме того, что внешний вид страницы поиска в таком случае очень даже привычный для посетителя сайта (хотя и не совсем стандартный в плане поиска), так в нашем случае сделать это не так сложно.

Как правило внешний вид страницы поиска задается в файле шаблона search.php. Открываем его и, после внимательного изучения, аккуратно добавляем туда код из файла архивов archive.php. Таким образом, настроив единственный раз внешний вид постов на главной, страницах тегов и категорий wordpress я достаточно легко внедряю его и для поиска.

На для красоты и функциональности можно добавить кое-кто интересное на страницу поиска. Для этого заходим в файл search.php, находим место после заголовка, но перед статьями и добавляем что-то вроде такого кода:

<div class="entry">Для вашего поискового запроса "<?php /* Search Count */ $allsearch = &new WP_Query("s=$s&showposts=-1"); $key = wp_specialchars($s, 1); $count = $allsearch->post_count; _e(''); _e('<span class="search-terms">'); echo $key; _e('"</span>'); _e(' найдено '); echo $count . ' '; _e('статьи. '); wp_reset_query(); ?></div>

В результате чего на странице результатов поиска появится надпись – Для вашего поискового запроса «ключевое слово» найдено 29 статьи. Текст, понятное дело, можно изменять так, как вам будет угодно, код в свою очередь определяет какой запрос вы ввели в форме поиска и сколько результатов для него было получено.

В одном из блогов я нашел еще хак для страницы поиска wordpress. Он позволяет «подсвечивать» слова, которые вы искали в результатах поиска. Для этого в файле search.php находим строку  с функцией  the_title, которая по умолчанию будет заключена в код типа этого:

<h3 id="post-<?php the_ID(); ?>"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>

Так вот ее нужно заменить на

<?php echo $title; ?>

Но перед этим вставить следующую строку:

<?php $title = get_the_title(); $keys= explode(" ",$s); $title = preg_replace('/('.implode('|', $keys) .')/iu', '<strong class="search-excerpt">\0</strong>', $title); ?>

Этот код будет выделять «поисковые слова» в заголовке постов жирным шрифтом. Если выделение жирным вы практикуете по умолчанию, то в любом случае можно изменить стили в CSS.

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

В любом случае все эти правки вы можете и не использовать – все зависит от личных пожеланий и предпочтений. Хотя я бы также рекомендовал обратить внимание на пользовательский поиск Google или (Google Custom Search), который не только позволит реализовать какие-то дополнительные возможности поиска, но позволит получить максимально стандартный его вид и даже немного на этом заработать через Google Adsense. Собственно на WordPress inside вы можете видеть пример его реализации – меня лично все более чем устраивает. К тому же это позволило объединить поиск по данному блогу и Tod’s Blog, а я в свою очередь размещаю не совместить ли мне информацию со всех блогов, тематика то у них почти одинаковая – интернет.

P.S. Постовой. Киевское лето! Только оптимальный выбор отели Киева цены! Приезжай в гостиницу «Украина».
The world’s largest bittorrent system fot free torrent downloads music, movies, games and other files.
Теперь купить в интернете контактные линзы стало гораздо проще, доставка по Украине и Киеву.

А еще можно опубликовать статью в своем блоге:
Опубликовать в twitter.com        
рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 3, средний балл: 4,00 из 7)
Loading ... Loading ...

категория Категории: Возможности; Хаки и секреты;
теги Теги: , , , , .
Еще интересно почитать:
Заработай на своих сайтах!

Комментариев - 11 к статье “Улучшаем страницу с результатами поиска в wordpress”

  • Андрей   15.08.2010

    Спасибо за инфу Tod! Буду пробовать настраивать.

  • Сергей   01.11.2010

    Интересные решения, довольно полезные. Хотя сам поиск в wordpress не очень нравится, ищет странно и не всегда находит даже по прямому запросу + выдает ссылки на страницы, где такого слова просто нет.

  • Tod   01.11.2010

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

  • Сергей   01.11.2010

    У меня с индексацией в гугле не все гуд) Относительно, конечно. Да и посетители не думаю, что часто пользуются поиском. Я вот очень редко, ибо в блогах иду примерно так – страница входа + похожие записи + выход)

  • Евгений Воробьев   07.12.2010

    А у меня ширина на сайте 550 пикселей…а в гугле минимум нужно 700. И как это исправить?

  • Tod   08.12.2010

    Евгений, кто сказал, что в google нужно именно 700? Там можно «пошаманить» со стилями оформления и задать любую ширину, у меня в этом блоге ведь тоже не 700, а 550 где-то.

  • Евгений Воробьев   08.12.2010

    Ну странно…там вроде написано так.
    Нужно поробовать!)

  • Дмитрий   21.10.2011

    Здравствуйте! Подскажите пожалуйста, возможно ли из результатов поиска исключить отображение страниц….?

  • Tod   23.10.2011

    Дмитрий, не знаю, а зачем это нужно? Если человек не нашел нужные ответы на первой странице, то логично что захочет пройти дальше, а тут бац и нет страниц)

  • Дмитрий   23.10.2011

    Дело в том, что в моем блоге результаты поиска выдают страницы, где представлена часть текста, на которой находится баннер гуглаАдсенс. Соответственно отображает часть скрипа гугла в ХТМЛ виде. Не красиво выглядит…
    Ну и на этом спасибо! Кстати очень полезный пост!

  • Tod   24.10.2011

    Дмитрий, вообще код гуглАдсенс нужно добавлять в файл шаблона, а не саму запись блога. Тогда в тексте не будет лишнего HTML.

Оставить комментарий


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

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:

Последние посты
Полезное
Облако тегов
Лучшее в категории
Клуб читателей блога
Скажи свое мнение!

Где вы берете Wordpress шаблоны?

Посмотреть результаты

Loading ... Loading ...
Друзья проекта
Последние новости