Pålitliga WordPress-handledningar, när du behöver dem som mest.
Nybörjarguide till WordPress
WPB Cup
25 miljoner+
Webbplatser som använder våra plugins
16+
År av WordPress-erfarenhet
3000+
WordPress-handledningar
av experter

Visa sökterm och antal resultat i WordPress

I den här handledningen kommer vi att dela hur du kan lägga till en enkel funktion på din söksida som visar söktermen och antalet resultat. Den här funktionen var en speciell begäran från en av våra användare via e-post. Om du vill att vi ska täcka ett ämne, känn dig fri att göra en suggestion.

Visa sökterm och antal resultat i WordPress-sökning

Öppna din fil search.php i ditt tema och lägg till följande 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>

Koden ovan kommer att visa något i stil med detta:

Sökresultat för twitter — 15 artiklar

Du kan också markera söktermen genom att lägga till CSS-klassen .search-terms i din temas stilmall. Här är en enkel CSS för att komma igång:

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

Detta är bara en av de coola saker du kan göra för din söksida när du anpassar den. Du kan också markera söktermer i resultaten, och till och med lägga till en funktion för sökning per kategori till din WordPress-sökning.

Källa: Michael Martin

Upplysning: Vårt innehåll stöds av läsarna. Det innebär att om du klickar på några av våra länkar kan vi tjäna en provision. Se hur WPBeginner finansieras, varför det är viktigt och hur du kan stödja oss. Här är vår redaktionella process.

Det ultimata WordPress-verktyget

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som alla proffs bör ha!

Läsarnas interaktioner

15 CommentsLeave a Reply

  1. Kan jag använda den här koden i filen sidebar.php? Jag behöver visa söktermen och antalet resultat i sidofältet. Snälla hjälp.

  2. thanks a lot for this snippet! :)

    enligt wp codex är funktionen wp_specialchars föråldrad. den säger att du ska använda esc_html istället.

    med vänliga hälsningar,
    marco

    • Nästa gång ska jag titta närmare på kommentarerna. CHADHAYTON har redan lagt upp en länk om hur du kan hantera det nu.

  3. echo $wp_query->found_posts;
     
    Att lägga till detta högst upp på din söksida kommer att visa antalet inlägg som hittats för en specifik sökning.
     
    echo get_search_query();
     
    Detta kommer att visa söktermen (inmatad i sökrutan av din webbplatsbesökare).
     
    timer_stop(1);
     
    Detta kommer att visa tiden det tog att köra sökningen.
     
    Sammantaget kan du mata ut något i stil med:
     
    Din sökning efter "kaffebönor" returnerade "16" inlägg på "0.87" sekunder.

  4. Wow. Det är mycket enklare än så att räkna WordPress sökresultat, här:

        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>";
    

    Om du lägger in det kodavsnittet i din sökmall kommer det att skriva ut egenskaperna för variabeln ‘$wp_query’, specifikt egenskapen ‘posts’ för objektet. Detta är en array som lagrar en samling av de returnerade inläggen från sökfrågan, som du kan göra en rad saker med när du får tillgång till den, inklusive (*trumvirvel*), *räkna* antalet inlägg i den arrayen med antingen PHP:s ‘count()’ eller ‘sizeof()’ funktion

    • Din kod är lite avklippt. Finns det ett sätt att du kan skicka oss utdraget via e-post så kan vi prova det och skriva om det. Självklart kommer du att få fullständig kredit.

      Admin

    • Chris,

      Detta fungerar inte. Poängen är att ta reda på det totala antalet resultat som matchar frågan – inte antalet som hämtats för närvarande. Om det finns fler resultat än vad som "rymmer" på en sida, kommer din kod bara att hämta antalet element på en sida.

    • Den här koden är korrekt. Den fungerar, det enda problemet han påpekar är att det kan göras annorlunda också. Vi har använt den här koden på en kunds webbplats och den fungerar.

      Admin

  5. Bra idé. Dålig utförande.
    Varför i hela friden skulle du vilja översätta en span-tagg???
    Och min favorit: _e(''); Va??
    Varför skulle du vilja söka på samma sökning två gånger?
    Det är helt obegripligt.

    Men jag vill inte hata, så här ska det göras (enligt min ödmjuka åsikt):


    post_count); ?>

  6. Jag tänker verkligen inte tillräckligt mycket på min sökning på sidan. Något sådant här är bra eftersom det gör sidan mer personlig.

Lämna ett svar

Tack för att du väljer att lämna en kommentar. Tänk på att alla kommentarer modereras enligt vår kommentarspolicy, och din e-postadress kommer INTE att publiceras. Använd INTE nyckelord i namn fältet. Låt oss ha en personlig och meningsfull konversation.