При описанні файлу шапки Wordpress header.php я згадував про вставку форми пошуку. Для коректного відображення форми та результатів пошуку створимо два окремих файли. Файл, який відповідає за вивід форми пошуку (поля для вводу ключових слів пошуку), буде називатися searchform.php і міститиме наступну інформацію:
<form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ) ?>" >
<input type="text" placeholder="Пошук..." value="<?php echo get_search_query() ?>" name="s" id="s" />
<input type="submit" id="search-submit" value="Шукати" />
</form>
Докладно розбирати весь запис не будемо, щоб не лізти в глибини структури WordPress, розглянемо тільки основні моменти, від яких залежить вигляд форми пошуку.
- placeholder="Пошук…" – слово "Пошук…" буде відображатися в полі вводу за замовчуванням. Можеш змінити на свій розсуд.
- name="s" id="s" – це значення буде додаватися вкінці посилання на сторінці пошуку. В мене це виглядає так: /?s=слово+пошуку (я шукав фразу "слово пошуку"). Теж можеш міняти значення "s" на свій розсуд.
- value="Шукати" – напис на кнопці пошуку. Знову ж таки можеш підставити сюди будь-який напис, який тобі сподобається.
Тепер розглянемо вивід результатів пошуку. Для цього створюємо файл search.php (якщо цього не зробити, вивід буде через файл index.php – головний файл шаблону). Я практично нічого не змінював, скопіював усі дані із файлу index.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>
Цей рядок виводить напис: "По запиту "слово пошуку" знайдено N збігів". Розберися в записі, поміняй фрази на власні, які захочеш, і буде тобі щастя 🙂
Ось так просто реалізовується пошук у шаблоні WordPress. До нових зустрічей!
Прокоментувати
На сайті відображається лише твоє ім'я та коментар. Електронна пошта зберігається виключно для зв'язку з тобою за потреби та в жодному разі не передається стороннім особам.