In meinem Plugin-Code möchte ich ein WP_Query
(oder ähnliches) ausführen, das alle Beiträge zurückgibt, die mit einer gegebenen Abfragezeichenfolge übereinstimmen, als ob der Benutzer dieselbe Zeichenfolge in das WordPress-Suchformular eingegeben hätte. Vielleicht bin ich nur dicht, aber ich finde keinen Weg, dies zu tun. Ich würde erwarten, einen speziellen Parameter für WP_Query
zu haben, wie zum Beispiel matching
, aber ich sehe keinen Beweis für einen.
Ich werde anfangen, durch die WordPress Codebase zu gehen, um zu sehen, wie es intern gemacht wird, und ich werde die Antwort hier posten, wenn ich es finde. Ich dachte nur, dass jemand zufällig etwas davon wissen könnte.
Wenn Sie eine Abfragevariable von "s" an WP_Query
mit einem Suchbegriff übergeben, werden die Suchergebnisse nach dem Suchbegriff gefiltert:
Die entsprechende SQL WHERE
-Klausel, die von dieser Abfrage generiert wird, sieht folgendermaßen aus:
Die Standardsuche enthält die Platzhalter wie oben gezeigt, was wahrscheinlich das ist, wonach Sie suchen. Wenn Sie eine exakte Suche wünschen, können Sie auch eine Abfrage var "exact" => true
.
Einzelheiten finden Sie in der get_posts
-Methode von WP_Query
in wp-includes / query .php .
Ich benutze das in meinem Plugin:
%Vor% post_type
wird benötigt, wenn Sie mit benutzerdefinierten Post-Typen arbeiten. suppress_filters
verhindert, dass der Inhalt formatiert wird, wenn Sie ihn analysieren müssen. posts_per_page
gibt alle Beiträge zurück, nicht den Standard pro Seite.
Ich glaube, Sie suchen, ist dies compare
aus der Wordpress-Dokumentation
%Vor%