Jak utworzyć niestandardową wyszukiwarkę w WordPress bez wtyczki?
Opublikowany: 2022-07-25Zastanawiasz się, jak stworzyć niestandardową wyszukiwarkę w WordPressie bez wtyczki?
Dostosowując wyszukiwanie w swojej witrynie, możesz zwiększyć liczbę odsłon, zwiększyć sprzedaż i pomóc odwiedzającym szybciej znaleźć to, po co przyszli.
W tym artykule porozmawiamy o tym, jak dostosować wyszukiwanie w swojej witrynie bez instalowania wtyczki i dlaczego warto rozważyć użycie w tym celu wtyczki.
Oto spis treści, który pomoże Ci szybko poruszać się po tym artykule:
- Dlaczego wyszukiwanie niestandardowe jest ważne dla Twojej witryny WordPress?
- Wady tworzenia niestandardowej wyszukiwarki bez wtyczki
- Najłatwiejsza metoda dostosowywania wyszukiwania WordPress w Twojej witrynie
- Utwórz własną wyszukiwarkę w WordPressie bez wtyczki
Zaczynajmy!
Dlaczego wyszukiwanie niestandardowe jest ważne dla Twojej witryny WordPress?
Na początek porozmawiajmy o tym, jak niestandardowe wyszukiwanie w Twojej witrynie może pomóc w rozwoju Twojej firmy.
Dostosowanie wyszukiwania w Twojej witrynie umożliwia:
- Dostarczaj trafniejsze wyniki wyszukiwania . Ogranicz wyszukiwanie do określonych kategorii, aby zawęzić wyniki wyszukiwania i pomóc odwiedzającym szybciej znaleźć to, czego szukają.
- Uzyskaj więcej odsłon i sprzedaży . Zwiększ wykrywalność treści i zwiększ przychody, promując określone posty lub produkty w wynikach wyszukiwania.
- Zbuduj lojalną publiczność . Użytkownicy, którzy mieli pozytywne wyniki wyszukiwania w Twojej witrynie, są bardziej skłonni do powrotu, aby zapoznać się z większą ilością Twoich treści.
- Zwiększaj ruch z wyszukiwarek . Pomagając odwiedzającym szybciej znaleźć odpowiednią treść, sprawiasz, że dłużej pozostają w Twojej witrynie, co jest jednym z głównych czynników rankingowych w Google.
Po ustaleniu, jakie korzyści może przynieść Twojej firmie wyszukiwanie niestandardowe, porozmawiajmy o wadach, których możesz się spodziewać, jeśli zrobisz to bez wtyczki.
Wady tworzenia niestandardowej wyszukiwarki bez wtyczki
Powinieneś wziąć pod uwagę kilka głównych wad, jeśli chcesz utworzyć niestandardowe wyszukiwanie w swojej witrynie bez wtyczki.
1. Wymaga umiejętności kodowania i głębokiej wiedzy na temat WordPressa
Główną wadą ręcznego dostosowywania wyszukiwania w witrynie jest to, że wymaga dużego doświadczenia w kodowaniu i głębokiej znajomości WordPressa.
Chodzi o to, że WordPress nie ma domyślnych narzędzi do konfiguracji wyszukiwania.
Z tego powodu jedynym sposobem na dostosowanie wyszukiwania jest modyfikacja podstawowych plików WordPress i kodu motywu.
Jest niewygodny, czasochłonny i nieodpowiedni dla osób, które nie znają się na technologii.
Co więcej, jeśli zrobisz coś źle, może to doprowadzić do awarii Twojej witryny, więc powinieneś być bardzo ostrożny podczas dostosowywania plików motywów.
2. Będziesz miał mniej funkcji
Dodatkowo, nawet jeśli masz duże umiejętności w zakresie kodowania, liczba niestandardowych funkcji wyszukiwania, które możesz dodać bez wtyczki, jest ograniczona.
Na przykład nie można dodawać wielu wyszukiwarek z unikalnym zestawem reguł, wykluczać z wyszukiwania określonych stron lub kategorii, zarządzać kolejnością wyników wyszukiwania i nie tylko.
Jeśli więc chcesz mieć pełną kontrolę nad działaniem wyszukiwania w Twojej witrynie, powinieneś rozważyć skorzystanie z potężnej wtyczki wyszukiwania WordPress.
3. Możesz stracić swoje zmiany
Wreszcie, ponieważ dostosowywanie wyszukiwania bez wtyczki wymaga wprowadzenia zmian w plikach witryny, utracisz wszystkie zmiany wprowadzone podczas aktualizacji motywu lub wersji WordPress.
Najlepszym sposobem na uniknięcie takich sytuacji jest użycie wtyczki wyszukiwania WordPress, ponieważ zachowuje ona Twoje ustawienia niezależnie od tego, co robisz ze swoją witryną.
Dzięki temu przyjrzyjmy się, jak możesz dostosować wyszukiwanie w swojej witrynie za pomocą kilku kliknięć, bez konieczności kodowania i niezależnie od Twoich umiejętności technicznych.
Najłatwiejsza metoda dostosowywania wyszukiwania WordPress w Twojej witrynie
Najłatwiejszym sposobem dostosowania wyszukiwania w witrynie WordPress jest użycie wtyczki, takiej jak SearchWP.
SearchWP to najwyżej oceniana wtyczka wyszukiwania WordPress, której zaufało ponad 30 000 właścicieli witryn.
Przyjazny dla początkujących interfejs i zaawansowane funkcje pozwalają w pełni dostosować wyszukiwanie, nawet jeśli uruchomisz swoją pierwszą witrynę.
Na przykład dzięki SearchWP możesz zarządzać, gdzie WordPress powinien szukać dopasowań, ograniczyć wyszukiwanie do określonego typu treści, włączyć wyszukiwanie według tagów i pól niestandardowych i wiele więcej.
Najlepsze jest to, że większość z tych rzeczy możesz zrobić za pomocą kilku kliknięć.
Możesz także użyć SearchWP do:
- Pokaż wyniki wyszukiwania w trybie na żywo . Włącz wyświetlanie wyników wyszukiwania na żywo w swojej witrynie, aby odwiedzający mogli natychmiast przejść do żądanych treści.
- Śledź wyszukiwania użytkowników . Zbieraj dane o tym, czego użytkownicy szukają w Twojej witrynie, które wyniki są najbardziej klikalne i inne cenne dane.
- Wyróżnij wyszukiwane hasła w wynikach wyszukiwania . Pomóż odwiedzającym dowiedzieć się, czy szybciej znaleźli odpowiednią treść, wyróżniając słowa kluczowe w wynikach wyszukiwania.
- Wyklucz określone strony z wyszukiwania . Pozbądź się bałaganu w wynikach wyszukiwania w swojej witrynie, wykluczając zbędne strony i nieaktualne treści.
Gdy dowiesz się, dlaczego SearchWP jest najlepszą wtyczką wyszukiwania WordPress, zobaczmy, jak możesz jej użyć, aby dostosować wyszukiwanie w swojej witrynie do swoich potrzeb.
Krok 1: Zainstaluj i aktywuj SearchWP
Pierwszym krokiem jest pobranie tutaj swojej kopii SearchWP.
Po zakończeniu przejdź do pulpitu nawigacyjnego konta SearchWP i kliknij Pobrane .
Następnie naciśnij przycisk Pobierz SearchWP i zapisz wtyczkę na swoim komputerze.
Po pobraniu skopiuj klucz licencyjny SearchWP w lewym dolnym rogu.
Następnie musisz zainstalować SearchWP w swojej witrynie. Jeśli potrzebujesz pomocy, możesz skorzystać z naszego szczegółowego przewodnika na temat instalacji wtyczki WordPress.
Po uruchomieniu SearchWP w witrynie następnym krokiem jest aktywacja kopii wtyczki.
Aby to zrobić, przejdź do pulpitu WordPress i kliknij Aktywuj licencję pod przyciskiem SearchWP w górnym panelu.
Następnie wprowadź swój klucz licencyjny w polu Licencja i naciśnij Aktywuj .
Po aktywowaniu kopii SearchWP możesz rozpocząć dostosowywanie wyszukiwania.
Krok 2: Zacznij dostosowywać swoje wyszukiwanie
Aby rozpocząć, kliknij Silniki w ustawieniach SearchWP.
Na tej karcie możesz dodawać, usuwać i dostosowywać swoje wyszukiwarki.
SearchWP automatycznie tworzy domyślną wyszukiwarkę po instalacji.
Jest powiązany z każdym istniejącym formularzem wyszukiwania, więc dostosowując go, możesz kontrolować sposób działania wyszukiwania w Twojej witrynie.
Na przykład możesz zarządzać listą źródeł wyszukiwania, zmusić WordPress do rozważenia nowych atrybutów treści, ograniczyć wyszukiwanie do określonych kategorii i nie tylko.
Dzięki SearchWP możesz dodać nieograniczoną liczbę wyszukiwarek i połączyć je z poszczególnymi formularzami wyszukiwania w swojej witrynie.
Dzięki temu możesz szybko tworzyć niestandardowe formularze wyszukiwania dla różnych potrzeb biznesowych i umieszczać je w dowolnym miejscu na swojej stronie.
Ponieważ w tym samouczku chcemy dostosować sposób wyszukiwania w całej witrynie, zmodyfikujemy domyślną wyszukiwarkę.
Najpierw określmy, gdzie WordPress będzie szukać treści, konfigurując listę źródeł wyszukiwania.
Zarządzaj źródłami wyszukiwania
Aby rozpocząć, naciśnij przycisk Źródła i ustawienia w sekcji Domyślna wyszukiwarka.
Tutaj możesz zarządzać, gdzie WordPress powinien wyszukiwać dopasowania. Domyślnie przeszukuje pliki Post , Strony i Media .
Aby usunąć źródło wyszukiwania, odznacz pole obok niego. Na przykład ograniczmy wyszukiwanie w naszej witrynie tylko do postów.
Aby to zrobić, odznaczymy wszystkie inne źródła z wyjątkiem Postów , a następnie klikniemy Gotowe , aby zapisać zmiany.
Po skonfigurowaniu listy źródeł wyszukiwania rozszerzmy nasze wyszukiwanie, zmuszając WordPress do uwzględniania atrybutów postów i taksonomii.
Skonfiguruj swoje atrybuty wyszukiwania
Aby rozpocząć, kliknij przycisk Dodaj/usuń atrybuty w sekcji Źródło wyszukiwania postów .
W wyświetlonym oknie możesz określić atrybuty i taksonomie, które WordPress ma uwzględnić podczas wyszukiwania.
Aby umożliwić wyszukiwanie określonego pola niestandardowego, kliknij pole Pola niestandardowe i wprowadź jego nazwę.
Dostępny jest również skrót Any Meta Key , który umożliwia jednoczesne przeszukiwanie wszystkich istniejących pól wyszukiwania.
Po zakończeniu dodawania pól niestandardowych utwórzmy również taksonomie indeksów WordPress.
W WordPressie taksonomie to metoda klasyfikacji treści i danych. Na przykład mogą to być kategorie postów, tagi, format lub coś innego.
Aby umożliwić przeszukiwanie nowej taksonomii, kliknij pole Taksonomie i wybierz żądaną taksonomię.
Na przykład, niech WordPress bierze pod uwagę tagi postów podczas wyszukiwania. Aby to zrobić, wybierz opcję Tagi z menu rozwijanego.
Możesz także sprawić, by WordPress ignorował domyślne atrybuty postów, takie jak Tytuł , Treść , Slug i Fragment , odznaczając pola obok nich.
Po zakończeniu zarządzania atrybutami źródła wyszukiwania postów naciśnij Gotowe , aby zapisać zmiany.
Zobaczmy teraz, jak zawęzić wyszukiwanie, aby zapewnić odwiedzającym trafniejsze wyniki.
Ogranicz wyszukiwanie do określonej kategorii postów
Aby rozpocząć, naciśnij przycisk Edytuj reguły .
Następnie kliknij Dodaj regułę .
Tutaj możesz dodać reguły, według których WordPress będzie filtrować treści w wynikach wyszukiwania.
Na przykład możesz dodać regułę, aby wykluczyć określone kategorie z wyszukiwania lub odwrotnie, ograniczyć wyszukiwanie do nich.

Załóżmy, że chcemy ograniczyć wyszukiwanie w naszej witrynie testowej do kategorii Wiadomości .
Aby to zrobić, najpierw upewnij się, że wybrałeś opcję Pokaż tylko wpisy, jeśli: i taksonomię Kategorie .
Następnie wprowadź nazwę kategorii, do której chcesz ograniczyć wyszukiwanie, w polu najbardziej po prawej stronie. W naszym przypadku będą to Wiadomości .
Po zakończeniu dostosowywania reguł wyszukiwarki kliknij Gotowe , aby zapisać zmiany.
Gdy jesteś zadowolony ze sposobu dostosowania wyszukiwania, możesz przejść do ostatniego kroku i zapisać wyszukiwarkę.
Zapisz swoją wyszukiwarkę
Aby to zrobić, naciśnij Zapisz silniki w prawym górnym rogu pulpitu nawigacyjnego SearchWP.
Następnie kliknij Odbuduj indeks , aby WordPress ponownie zindeksował całą zawartość i zastosuj nowe ustawienia wyszukiwarki.
Otóż to. Możesz w pełni dostosować wyszukiwanie do swoich potrzeb bez pisania nawet jednej linii kodu.
Przetestujmy Twoje nowe wyszukiwanie, aby upewnić się, że działa zgodnie z Twoimi dostosowaniami.
Krok 3: Przetestuj swoje nowe wyszukiwanie
Aby rozpocząć, przejdź do swojej witryny i przeprowadź wyszukiwanie testowe. Na przykład, ponieważ udostępniliśmy tagi postów, które można przeszukiwać, spróbujmy znaleźć post tylko według jego tagów.
Na naszej stronie testowej mamy post o nazwie „Nowe funkcje WordPressa”, który ma tag „Aktualizacje”.
Poszukajmy po tym tagu i zobaczmy, czy możemy znaleźć nasz post.
Znaleźliśmy post, mimo że w jego tytule, fragmencie ani treści nie ma słowa „aktualizacje”.
Oznacza to, że nasza wyszukiwarka uwzględnia teraz tagi postów podczas wyszukiwania dopasowań.
Upewnijmy się również, że wyszukiwanie w naszej witrynie jest teraz ograniczone do kategorii „Wiadomości”.
Aby to zrobić, wyszukamy „WordPress”, ponieważ mamy wiele postów związanych z WordPress w innych kategoriach.
Widać, że wśród otrzymanych wyników wyszukiwania wyświetlane są tylko posty z kategorii Wiadomości .
Oznacza to, że reguła, którą dodaliśmy do naszej wyszukiwarki, mówiąca, że WordPress powinien przeszukiwać tylko wiadomości, działa tak, jak powinna.
Właśnie poznałeś najprostszy sposób dostosowania wyszukiwania. Zobaczmy teraz, jak możesz to zrobić bez użycia wtyczki.
Utwórz własną wyszukiwarkę w WordPressie bez wtyczki
Aby dostosować wyszukiwanie bez wtyczki, musisz wprowadzić zmiany w motywie.
Najbezpieczniejszym sposobem na to jest utworzenie motywu podrzędnego bieżącego motywu, którego używasz w swojej witrynie.
W ten sposób, gdy wprowadzasz zmiany w motywie potomnym, motyw nadrzędny pozostaje nietknięty, co pozwala szybko się do niego przełączyć w przypadku błędów krytycznych.
Dodatkowo posiadanie motywu potomnego pozwala zaktualizować motyw nadrzędny bez utraty zmian. Aby uzyskać więcej informacji na temat tworzenia motywu potomnego, zapoznaj się z samouczkiem tworzenia motywu potomnego.
Po utworzeniu i aktywowaniu motywu podrzędnego możesz rozpocząć dostosowywanie wyszukiwania.
Aby rozpocząć, przejdź do Wygląd » Edytor plików motywów na pulpicie WordPress.
Następnie znajdź plik functions.php w prawym panelu i kliknij go.
Następnie postępuj zgodnie z poniższymi instrukcjami w zależności od tego, jakie dostosowania chcesz wprowadzić do wyszukiwania w swojej witrynie.
Włącz wyszukiwanie postów według tagów i kategorii
Aby tagi postów i kategorie można było przeszukiwać w witrynie bez wtyczki, dodaj następujący kod do pliku functions.php motywu:
/* * ---------------------------------------------------------- * * 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 );
Po zakończeniu naciśnij przycisk Aktualizuj plik , aby zapisać zmiany.
Teraz odwiedzający Twoją witrynę mogą wyszukiwać posty według tagów i kategorii.
Włącz wyszukiwanie według treści komentarzy i nazwisk autorów
Aby komentarze i nazwiska autorów można było przeszukiwać w witrynie bez wtyczki, dodaj następujący kod do pliku functions.php motywu:
/* * ---------------------------------------------------------- * * 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 );
Po zakończeniu kliknij przycisk Aktualizuj plik na dole edytora, aby zapisać zmiany.
Teraz odwiedzający mogą wyszukiwać według treści komentarzy i nazwisk autorów.
Włącz wyszukiwanie według pól niestandardowych post
Aby umożliwić przeszukiwanie pól niestandardowych w witrynie bez wtyczki, dodaj następujący kod do pliku functions.php motywu:
/* * ---------------------------------------------------------- * * 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 );
Po zakończeniu naciśnij przycisk Aktualizuj plik na dole edytora, aby zapisać zmiany.
Teraz odwiedzający mogą wyszukiwać posty według pól niestandardowych.
W tym artykule dowiedziałeś się, jak utworzyć niestandardowe wyszukiwanie w swojej witrynie bez wtyczki i dlaczego używanie wtyczki do tego celu jest znacznie wygodniejsze.
Mamy nadzieję, że pomoże to w podjęciu decyzji i wybraniu metody, którą wolisz używać w swojej witrynie.
Chcesz dostosować wyszukiwanie w swojej witrynie za pomocą kilku kliknięć? Tutaj możesz zacząć korzystać z SearchWP.
Szukasz sposobu na stworzenie niestandardowego motywu dla swojej witryny? Sprawdź nasz samouczek krok po kroku, jak utworzyć niestandardowy motyw WordPress.
Chcesz dostosować swoją stronę wyników wyszukiwania? Postępuj zgodnie z naszym sposobem dostosowania przewodnika po stronie wyników wyszukiwania WordPress.