Ist es mit den Standard-integrierten Tools in Wordpress möglich wp_query
, nur die Anzahl einer Abfrage zurückzugeben?
Im Moment habe ich eine Abfrage mit mehreren meta_queries, aber das einzige, was mich interessiert, ist die tatsächliche Anzahl der Abfragen.
Ich weiß, dass ich die Eigenschaft found_posts verwenden kann, aber die Abfrage selbst generiert einen großen Overhead durch Abfrage SELECT *
und gibt somit das gesamte Objekt zurück.
Ich könnte die Datenbank genauso einfach mit einer benutzerdefinierten Abfrage abfragen, $wpdb
aber ich möchte, wenn möglich, das integrierte Abfragesystem verwenden.
Ich habe auf SE und Google nach der Antwort darauf gesucht, bin aber leer ausgegangen.
Wenn ich mich schlecht erklärt habe, lass es mich bitte wissen und ich werde versuchen, es näher zu erläutern.
Prost
WP_Query
Klasse erweitere, um nur die Zählung zurückzugeben?Antworten:
Es gibt keine eingebaute Funktion, um das zu erreichen, was Sie wollen, zumindest nicht für komplizierte Metaabfragen wie diese. Wenn Sie hierfür eingebaute Funktionen verwenden müssen, sollten Sie diese am besten nutzen
WP_Query
.Um die Abfrage zu beschleunigen und das unerwünschte zurückgegebene Array von
WP_Post
Eigenschaften zu überspringen. Da Sie nur an der Anzahl der Beiträge interessiert sind, können Sie in Ihren Argumenten Folgendes in Ihren Parametern verwendenDies ist möglicherweise sogar etwas schneller als eine benutzerdefinierte SQL-Abfrage, und die Ergebnisse von
WP_Query
werden ebenfalls zwischengespeichert.quelle
Ich weiß, dass dies beantwortet wurde, und da Ihre Frage auf der Verwendung beruhte
WP_Query
, ist meine Antwort wahrscheinlich ein langer Weg , aber Sie könnten auch versuchen, dies zu verwenden:where
$type = post_type (post, page, 'custom-post-type-slug')
and where$perm
= Um private Beiträge einzuschließen, die vom aktuellen Benutzer gelesen werden können, setzen Sie auf "lesbar".Ich habe dies in der Vergangenheit mit großem Erfolg verwendet :)
quelle