Anzahl der Suchergebnisse anzeigen

13

Bisher habe ich den folgenden Code verwendet, um die Anzahl der Ergebnisse zu ermitteln, wenn jemand sucht, und um diese Anzahl anzuzeigen.

<?php /* Search Count */ $allsearch =& new WP_Query("s=$s&showposts=-1"); $count = $allsearch->post_count; echo $count . ' '; wp_reset_query(); ?>

Dies scheint jedoch kein gültiger Code zu sein. Es zeigt unten Fehler:

Veraltet: Das Zuweisen des Rückgabewerts von new als Referenz ist veraltet

Kann mir jemand bitte die richtige Art und Weise vorschlagen, wie ich die Suchanzahl erhalte. Der obige Code wird in die Überschrift meiner index.php-Datei des Themas innerhalb einer bedingten Anweisung eingefügt, um je nach Art der Seite, auf der sich ein Benutzer befindet, eine andere Überschrift anzuzeigen.

Harish Chouhan
quelle
allsearch = new WP_QueryOhne '&', um veraltete Benachrichtigungen zu vermeiden.
gmazzap

Antworten:

31

Wenn Sie sich in der Suchvorlage befinden, ist die Suchabfrage Ihre Hauptabfrage. Sie sollten dann in der Lage sein, Suchergebnisse von global abzurufen, $wp_queryohne eine zusätzliche Abfrage auszuführen.

global $wp_query;
echo $wp_query->found_posts.' results found.';

Bearbeiten 1

Wenn Sie aus dem Suchkontext heraus zählen müssen. Sie können beide Techniken kombinieren, um ein effizientes Ergebnis zu erzielen. Der gesamte Beitrag wird nicht abgerufen, aber Sie können die Anzahl der Suchvorgänge abrufen.

$allsearch = new WP_Query("s=$s&showposts=0"); 
echo $allsearch ->found_posts.' results found.';

Dein Fehler

Über den Fehler, den Sie bekommen, liegt es hier

$allsearch =& new WP_Query("s=$s&showposts=-1");

Entfernen Sie das "&" neben dem Gleichheitszeichen, um den Fehler zu beheben. Also wird es so aussehen

$allsearch = new WP_Query("s=$s&showposts=-1");
HERR
quelle
1
Wow, danke. Ich habe es auch versucht und es hat funktioniert '<? Php / * Search Count * / $ count = $ wp_query-> post_count; echo $ count. ''; wp_reset_query (); ?> '
Harish Chouhan
Nutzen Sie Ihre $ allsearch = new WP_Query ("s = $ s & showposts = 0"); echo $ allsearch -> found_posts. ' gefundene Ergebnisse.'; zeigt nur die aktuelle Seitenzahl an, nicht die Gesamtsumme. Zum Beispiel sollte es nur 10 sein, wenn es auch 20 Beiträge gibt.
Suyash Jain