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 samouczku podzielimy się tym, jak dodać prostą funkcję na stronie wyszukiwania, która wyświetli wyszukiwane hasło i liczbę wyników. Ta funkcja była specjalną prośbą jednego z naszych użytkowników za pośrednictwem poczty elektronicznej. Jeśli chcesz, abyśmy poruszyli 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ć terminy wyszukiwania 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 w 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.

Zostaw odpowiedź

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. Prosimy NIE używać słów kluczowych w polu nazwy. Prowadźmy osobistą i znaczącą rozmowę.