Wordpressの標準の組み込みツールを使用して、クエリの数だけを返すようにwp_query
を取得することは可能ですか?
今のところ、私はいくつかのmeta_queriesを持っているクエリを持っていますが、私が興味を持っている唯一のものは実際にクエリの数です。
Found_postsプロパティを使用できることは知っていますが、クエリ自体はクエリSELECT *
によって大きなオーバーヘッドを生成し、したがってオブジェクト全体を返します。
私は$wpdb
を使ってカスタムクエリでDBを簡単にクエリすることができますが、可能であれば組み込みのクエリシステムを利用したいと思います。
私はSEとGoogleでこれに対する答えを探していましたが、空になりました。
私が自分自身をうまく説明できなかったならば、私に知らせてください、そして、私は詳述しようとします。
乾杯
あなたが望むものを達成するための組み込み関数はありません、少なくともこのような複雑なメタクエリのためにはありません。このために組み込み関数を使用する必要がある場合、最善の方法はWP_Query
を使用することです。
クエリを高速化し、WP_Post
プロパティの不要な戻り値の配列をスキップするため、および投稿数のみに関心があるため、引数のパラメータに次のコードを使用できます。
'fields' => 'ids',
'no_found_rows' => true,
これはカスタムSQLクエリより少し速いかもしれません、そしてWP_Query
からの結果も同様にキャッシュされます。
私はこれが答えられたことを知っています、そしてあなたの質問はWP_Query
を使うことに基づいていたので、私の答えはおそらくロングショットですが、あなたはこれを使うことを試みることもできます:
wp_count_posts( $type, $perm );
where $type = post_type (post, page, 'custom-post-type-slug')
およびwhere $perm
=現在のユーザーが読むことのできる非公開投稿を含めるには、 'reading'に設定します
私は過去にこれを使って大成功を収めました:)
wp_count_posts('post')->publish -> returns only the count for published posts.