Zaufane samouczki WordPress, kiedy ich najbardziej potrzebujesz.
Przewodnik dla początkujących po WordPressie
WPB Cup
25 milionów+
Witryny korzystające z naszych wtyczek
16+
Lata doświadczenia z WordPressem
3000+
Samouczki WordPress od ekspertów

Wyświetlanie terminu wyszukiwania i liczby wyników w WordPress

W tym poradniku pokażemy, jak dodać prostą funkcję na stronie wyszukiwania, która wyświetli wpisane hasło i liczbę wyników. Ta funkcja była specjalną prośbą jednego z naszych użytkowników e-mailem. Jeśli chcesz, abyśmy omówili jakiś temat, śmiało zgłoś sugestię.

Wyświetlanie wyszukiwanego hasła i liczby wyników w wyszukiwarce WordPress

Otwórz plik search.php w swoim motywie i dodaj następujący kod:

<h2 class="pagetitle">Search Result for <?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(' &mdash; '); echo $count . ' '; _e('articles'); wp_reset_query(); ?></h2>

Powyższy kod wyświetli coś takiego:

Wyniki wyszukiwania dla twitter — 15 artykułów

Możesz również podświetlić wyszukiwane hasło, dodając klasę CSS .search-terms do arkusza stylów swojego motywu. Oto prosty kod CSS, który pomoże Ci zacząć:

.search-terms {
background-color:yellow;
color:blue;
}

To tylko jedna z fajnych rzeczy, które możesz zrobić dla swojej strony wyszukiwania podczas jej dostosowywania. Możesz również podświetlić wyszukiwane hasła w wynikach, a nawet dodać funkcję wyszukiwania według kategorii do wyszukiwania w WordPress.

Źródło: Michael Martin

Ujawnienie: Nasze treści są wspierane przez czytelników. Oznacza to, że jeśli klikniesz niektóre z naszych linków, możemy otrzymać prowizję. Zobacz jak finansowany jest WPBeginner, dlaczego to ważne i jak możesz nas wesprzeć. Oto nasz proces redakcyjny.

Ostateczny zestaw narzędzi WordPress

Uzyskaj BEZPŁATNY dostęp do naszego zestawu narzędzi – kolekcji produktów i zasobów związanych z WordPress, które powinien mieć każdy profesjonalista!

Interakcje czytelników

15 CommentsLeave a Reply

  1. Czy mogę użyć tego kodu w pliku sidebar.php? Ponieważ muszę pokazać termin wyszukiwania i liczbę wyników w pasku bocznym. Proszę o pomoc.

  2. thanks a lot for this snippet! :)

    zgodnie z kodeksem wp funkcja wp_specialchars jest przestarzała. mówi, że należy użyć esc_html zamiast tego.

    pozdrawiam,
    marco

    • Następnym razem dokładnie przyjrzę się komentarzom. CHADHAYTON już opublikował link, jak można sobie z tym teraz poradzić.

  3. echo $wp_query->found_posts;
     
    Dodanie tego na górze strony wyszukiwania wyświetli liczbę postów znalezionych dla danego zapytania.
     
    echo get_search_query();
     
    To wyświetli termin wyszukiwania (wprowadzony do pola wyszukiwania przez odwiedzającego Twoją stronę).
     
    timer_stop(1);
     
    To wyświetli czas potrzebny na wykonanie wyszukiwania.
     
    Łącznie można uzyskać coś takiego:
     
    Twoje wyszukiwanie "kawa ziarnista" zwróciło "16" postów w "0.87" sekundy.

  4. Wow. To znacznie prostsze niż liczenie wyników wyszukiwania WordPressa, tutaj:

        global $wp_query;
        $count = sizeof( $wp_query->posts );
        echo"<pre>";
        //var_dump($wp_query);// The WP Query Object
        var_dump($wp_query->posts); // The WP Query Object's 'posts' property (note the plural)
        echo"</pre>";
    

    Jeśli umieścisz ten fragment w swoim szablonie wyszukiwania, wyświetli on właściwości zmiennej „$wp_query”, w szczególności właściwość „posts” obiektu. Jest to tablica przechowująca kolekcję zwróconych postów z zapytania wyszukiwania, z którą możesz zrobić wiele rzeczy po uzyskaniu do niej dostępu, w tym (*werble*), *policzyć* liczbę postów w tej tablicy za pomocą funkcji PHP „count()” lub „sizeof()”.

    • Chris,

      To nie zadziała. Chodzi o znalezienie całkowitej liczby wyników pasujących do zapytania – a nie liczby aktualnie pobranych. Jeśli jest więcej wyników niż „mieści się” na stronie, Twój kod pobierze tylko liczbę elementów na stronie.

    • Ten kod jest poprawny. Działa, jedynym problemem, na który zwraca uwagę, jest to, że można to zrobić inaczej. Użyliśmy tego kodu na stronie klienta i działa.

      Admin

  5. Dobry pomysł. Złe wykonanie.
    Po co w ogóle tłumaczyć tag span???
    A mój ulubiony: _e(''); Co??
    Po co chcesz wyszukiwać to samo dwa razy?
    Nie ma to żadnego sensu.

    Ale nie chcę nienawidzić, tak powinno się to robić (moim skromnym zdaniem):


    post_count); ?>

  6. Naprawdę nie poświęcam wystarczająco dużo uwagi wyszukiwaniu na mojej stronie. Coś takiego jest świetne, ponieważ sprawia, że strona jest bardziej spersonalizowana.

Leave A Reply

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszą polityką komentowania, a Twój adres e-mail NIE zostanie opublikowany. Proszę NIE używaj słów kluczowych w polu nazwy. Prowadźmy osobistą i znaczącą rozmowę.