In diesem Tutorial teilen wir Ihnen mit, wie Sie Ihrer Suchseite eine einfache Funktion hinzufügen können, die den Suchbegriff und die Anzahl der Ergebnisse anzeigt. Dieses Feature war eine spezielle Anfrage eines unserer Benutzer per E-Mail. Wenn Sie möchten, dass wir ein Thema behandeln, können Sie gerne einen Vorschlag machen.

Öffnen Sie Ihre Datei search.php in Ihrem Theme und fügen Sie den folgenden Code hinzu:
<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(' — '); echo $count . ' '; _e('articles'); wp_reset_query(); ?></h2>
Der obige Code wird etwa so angezeigt:
Suchergebnis für Twitter — 15 Artikel
Sie können den Suchbegriff auch hervorheben, indem Sie Ihrer Theme-Stylesheet-Datei die CSS-Klasse .search-terms hinzufügen. Hier ist ein einfaches CSS, mit dem Sie beginnen können:
.search-terms {
background-color:yellow;
color:blue;
}
Dies ist nur eines der coolen Dinge, die Sie für Ihre Suchseite tun können, wenn Sie sie anpassen. Sie können auch Suchbegriffe in den Ergebnissen hervorheben und sogar eine Funktion Suche nach Kategorie zu Ihrer WordPress-Suche hinzufügen.
Quelle: Michael Martin

Aniruddh
Kann ich diesen Code in der Datei sidebar.php verwenden? Da ich den Suchbegriff und die Ergebnisanzahl in der Seitenleiste anzeigen muss. Bitte helfen Sie.
Marco
thanks a lot for this snippet!
Laut dem WP Codex ist die Funktion wp_specialchars veraltet. Es heißt, Sie sollten stattdessen esc_html verwenden.
mit freundlichen Grüßen,
marco
Marco
Nächstes Mal schaue ich mir die Kommentare genau an. CHADHAYTON hat bereits einen Link gepostet, wie Sie damit umgehen können.
Henry
echo $wp_query->found_posts;
Wenn Sie dies am Anfang Ihrer Suchseite hinzufügen, wird die Anzahl der Beiträge angezeigt, die für eine bestimmte Suche gefunden wurden.
echo get_search_query();
Dies zeigt den Suchbegriff an (der von Ihrem Website-Besucher in das Suchfeld eingegeben wurde).
timer_stop(1);
Dies zeigt die Zeit an, die für die Ausführung der Suche benötigt wurde.
Zusammen könnten Sie etwas wie das Folgende ausgeben:
Ihre Suche nach „Kaffeebohnen“ ergab „16“ Beiträge in „0,87“ Sekunden.
jameslhf
Thank you Henry, that helped me!
Prasanna
Danke Henry. Das hat mir sehr geholfen.
chadhayton
Es ist schwer zu sagen, wie alt dieser Beitrag ist, aber WordPress 3.1 bietet eine Möglichkeit, die Gesamtzahl der Suchergebnisse zu ermitteln, die keine separate Abfrage erfordert:
http://codex.wordpress.org/Creating_a_Search_Page#Display_Total_Results
Chris Murphy
Wow. Es ist viel einfacher als das, die Suchergebnisse von WordPress zu zählen, hier:
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>";Wenn Sie diesen Ausschnitt in Ihre Suchvorlage einfügen, gibt er die Eigenschaften der Variablen '$wp_query' aus, insbesondere die Eigenschaft 'posts' des Objekts. Dies ist ein Array, das eine Sammlung der von der Suchanfrage zurückgegebenen Beiträge speichert, mit denen Sie verschiedene Dinge tun können, sobald Sie darauf zugreifen, einschließlich (*Trommelwirbel*), *zählen* der Anzahl der Beiträge in diesem Array mit der PHP-Funktion 'count()' oder 'sizeof()'.
Redaktion
Ihr Code ist ein wenig abgeschnitten. Gibt es eine Möglichkeit, dass Sie uns den Ausschnitt per E-Mail senden können, damit wir ihn ausprobieren und darüber schreiben können? Selbstverständlich wird Ihnen die volle Anerkennung zuteil.
Admin
Ilya
Chris,
Das funktioniert nicht. Es geht darum, die Gesamtzahl der Ergebnisse zu ermitteln, die mit der Abfrage übereinstimmen – nicht die Anzahl der aktuell abgerufenen. Wenn es mehr Ergebnisse gibt, als auf eine Seite "passen", erhält Ihr Code nur die Anzahl der Elemente auf einer Seite.
pete
Suchergebnisse sind eine persönliche Sache für einen Benutzer, daher ist es gut, wenn ihm viele Informationen zur Verfügung gestellt werden.
basilakis
So the code is right or not?
I see Konstantin has some point about the query, but the comments “ate” the results!
Redaktion
Dieser Code ist korrekt. Er funktioniert, das einzige Problem, auf das er hinweist, ist, dass es auch anders gemacht werden kann. Wir haben diesen Code auf der Website eines Kunden verwendet und er funktioniert.
Admin
Konstantin
Gute Idee. Schlechte Ausführung.
Warum zum Teufel sollte man ein span-Tag übersetzen wollen???
Und mein Favorit:
_e('');Hä??Warum sollte man dieselbe Suche zweimal abfragen?
Ergibt überhaupt keinen Sinn.
Aber ich will nicht haten, so sollte es gemacht werden (meiner bescheidenen Meinung nach):
post_count); ?>
Tom
Ich denke nicht wirklich genug über meine On-Page-Suche nach. So etwas ist großartig, weil es die Seite persönlicher macht.