Jak stworzyć motyw WordPress #013 – Formularz wyszukiwania

WordPress 5 minut czytania

Dodawanie funkcji wyszukiwania do standardowych stron internetowych wymaga sporej ilości kodu oraz przede wszystkim czasu. A jak to wygląda w przypadku WordPressa? Tam jest znacznie łatwiej za sprawą kilku gotowych funkcji. Poznajmy je!

Podstawowy formularz wyszukiwania.

Na początku nawiążmy może do kodu motywu rozwijanego w serii, na którą składa się również ten wpis. Dodajmy do niego nowy plik o nazwie sidebar.php i pobierzmy go do naszego indexu:

<?php get_sidebar(); ?>

Teraz możemy stworzyć nasz formularz. W pliku sidebar.php dodajmy sekcję aside, a w niej funkcję odpowiedzialną za umieszczenie wyszukiwarki na stronie opartej o WordPressa:

<?php get_search_form(); ?>

W podstawowym zakresie to wszystko! Widoczny kod PHP wyświetli nam podstawowy formularz wyszukiwania prezentujący się w ten oto sposób:

Formularz wyszukiwania

Niestety jak możemy zauważyć nasz element ma 2 istotne problemy. Po pierwsze nie jest idealny pod względem wizualnym, a po drugie w ogóle nie wiemy jak edytować jego zawartość. Rozwiążmy te problemy!

Edycja naszej wyszukiwarki.

W tym celu potrzebujemy kolejnego pliku. Nazwa jaką musi nosić to searchform.php. Właśnie tam możemy umieścić kod, który zostanie wyświetlony po użyciu wyżej wymienionej komendy.

Ale jak to? Mieliśmy edytować już istniejący formularz, a tu nagle tworzymy zupełnie nowy od podstaw?

Dokładnie, aby zmienić nasz formularz musimy wziąć kod standardowej wyszukiwarki, który prezentuje się w taki sposób:

<form method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>">
  <label for="s" class="assistive-text"><?php _e( 'Search', 'twentyeleven' ); ?></label>
  <input type="text" class="field" name="s" id="s" placeholder="<?php esc_attr_e( 'Search', 'twentyeleven' ); ?>" >
  <input type="submit" class="submit" name="submit" id="searchsubmit" value="<?php esc_attr_e( 'Search', 'twentyeleven' ); ?>" >
</form>

…i zwyczajnie go wkleić, a później zedytować. Wg mnie ten kod jest już jest dobry, jedyne co chciałbym zmienić, to dodać placeholder do pola, w którym wpisujemy słowo kluczowe, tak, że cały input będzie prezentować się w taki sposób:

<input type="text" class="field" name="s" id="s" placeholder="<?php get_search_query(); ?>" >

Dzięki temu po wpisaniu konkretnej frazy kluczowej i przejściu na stronę z wynikami wyszukiwania w polu dalej będzie znajdować się wyrażenie, które nas interesuje.

Tak oto prezentuje się edycja naszej wyszukiwarki. Może zakończę wszystko małymi zmianami w stylach formularza, tak że całość będzie wyglądać w ten oto sposób (prosto, ale nie o fajerwerki tu chodzi ?):

Nowy wygląd wyszukiwarki

Strona z wynikami wyszukiwania.

Ostatnim elementem, który nam pozostał jest strona, która wyświetli się po wyszukaniu czegoś przez nasz formularz. W tym celu ponownie stwórzmy nowy plik, tym razem o nazwie search.php.

Od tej chwili możemy skonfigurować go jak tylko chcemy. Ja skopiuję cały kod z pliku index.php i dodam podtytuł podobny do tego, co w pliku archive.php, tak że całość będzie prezentować się w ten oto sposób:

Wyniki wyszukiwania

Podsumowanie.

Z każdym artykułem dowiadujemy się jak dużym ułatwieniem potrafi być WordPress. Standardowo jeśli jesteś zainteresowany całym kodem tworzonego motywu, zapraszam Cię na GitHuba.

Oczywiście zachęcam Cię również do komentowania w razie jakichkolwiek uwag lub pytań, a jeśli wpis, który właśnie przeczytałeś okazał się wartościowy, to będę niezwykle wdzięczny za przesłanie go dalej! 🙂

Komentarze

Może dodasz coś od siebie?