WP_query gibt mehr Ergebnisse zurück als die SQL-Abfrage. post_count> gefundene_posts

Wenn der angegebene Feldparameter ‘ids’ ist, dann funktioniert meine WP_query ok (aber ich möchte alle fileds).

$query3 = new WP_Query(array('post_type' => array('post'), 'posts_per_page' => -1, 'fields' => 'ids', 'date_query' => array( array( 'column' => 'post_modified_gmt', 'after' => '1 month ago' ) ) )); [request] => SELECT x_posts.ID FROM x_posts WHERE 1=1 AND ( x_posts.post_modified_gmt > '2017-08-27 12:02:06' ) AND x_posts.post_type = 'post' AND (x_posts.post_status = 'publish') ORDER BY x_posts.post_date DESC [post_count] => 14 [found_posts] => 14 [max_num_pages] => 0 [max_num_comment_pages] => 0 

Wenn ich keinen Feldparameter verwende. Ich bekomme.

  [post_count] => 215 [found_posts] => 14 

Aber die SQL-Abfrage ist korrekt.

 [request] => SELECT x_posts.* FROM x_posts WHERE 1=1 AND ( x_posts.post_modified_gmt > '2017-08-27 12:02:06' ) AND x_posts.post_type = 'post' AND (x_posts.post_status = 'publish') ORDER BY x_posts.post_date DESC 

Wie kann ich es reparieren?

Solutions Collecting From Web of "WP_query gibt mehr Ergebnisse zurück als die SQL-Abfrage. post_count> gefundene_posts"

post_status = ‘publish’ ist standardmäßig yo WP_Query, also brauchen Sie nicht angegeben zu werden. Wie Sie sehen können, ist echte SQL-Abfrage in Ordnung. Und alle zurückgegebenen Ergebnisse sind mit Status veröffentlichen. sieht so aus nur post_modified_gmt> ‘xxx’ ist nicht respekt.

Gelegentlich verwenden Sie Konstruktion mit

  'fields' => 'ids', 

also nimm nur 14 post ids und next

  foreach($query3->posts as $id) { $post = get_post($id); // ... 

aber ich weiß nicht, ob es optimal ist