Verwenden von WP_Query zum Abrufen der Anlage gibt eine leere Menge zurück

Ich möchte die erste Audiodatei in der Medienbibliothek nach einem benutzerdefinierten Feld filtern, aber es gibt immer einen leeren Satz von Posts zurück. Ich weiß, dass ich 'post_status' => 'inherit' und 'post_type' => 'attachment' , aber es ändert nichts.

  'attachment', 'post_status' => 'inherit', 'post_mime_type' => 'audio', 'meta_key' => 'my_meta_key', 'meta_value' => 'my_meta_value', 'posts_per_page' => 1 ); // Create the query $audio_files = new WP_Query( $args ); // Output var_dump( $audio_files ); // the number of found posts is always 0 ?> 

Also versuchte ich es zu minimieren, indem ich alle Meta-Schlüssel-Sachen wegließ und nach einem Anhang suchte (wie hier erwähnt)

  'attachment', 'post_status' => 'inherit' ); // or "any", but without effect // Create the query $any_files = new WP_Query( $args ); // Output var_dump( $any_files ); // same: the number of found posts is always 0 ?> 

Wenn ich var_dump( $any_files ); , die Anfrage enthält nicht den ausgewählten Post-Status ‘(was seltsam ist):

  ["request"]=> string(237) "SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'attachment' AND ((wp_posts.post_status = 'publish' OR wp_posts.post_status = 'future')) ORDER BY wp_posts.post_date DESC LIMIT 0, 10" 

Also habe ich es altmodisch mit einer benutzerdefinierten SQL-statement versucht:

 get_row( 'SELECT * FROM ' . $wpdb->prefix . 'posts p, ' . $wpdb->prefix . 'postmeta m WHERE p.post_mime_type LIKE "audio/%" AND p.ID = m.post_ID AND m.meta_key = "my_meta_key" AND m.meta_value = "my_meta_value" ORDER BY p.post_date DESC' ); ?> 

Und Tataaaa! Ich bekomme meine erste Audiodatei.

Ich weiß, dass es ähnliche Fragen gibt:

  • Gebrochen? WP_Query und “Anhang” als Post-Typ
  • WP_Query funktioniert nicht wie erwartet für Anlagen und benutzerdefinierte Metaabfragen

Aber keiner von ihnen half mir, obwohl sie das gleiche Thema behandelten.

Was ich hier vermisse? Warum wird der angegebene Status nicht erkannt? Ich möchte WP_Query .

Getriggers: Vor einigen Monaten habe ich der Abfrage im Action-Hook pre_get_posts einen default post_status hinzugefügt. Oh Mann! @Milo: Danke für deinen Hinweis!

Solutions Collecting From Web of "Verwenden von WP_Query zum Abrufen der Anlage gibt eine leere Menge zurück"