Usando WP_Query para obter o anexo retorna o conjunto vazio

Gostaria de obter o primeiro arquivo de áudio na biblioteca de mídia filtrada por um campo personalizado, mas sempre retorna um conjunto vazio de postagens. Eu sei que tenho que passar 'post_status' => 'inherit' e 'post_type' => 'attachment' , mas isso não muda nada.

  '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 ?> 

Então eu tentei minimizá-lo, afastando todas as coisas de meta-chave e procurando por algum anexo (como mencionado aqui )

  '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 ?> 

Quando eu faço var_dump( $any_files ); , o pedido não contém o status pós selecionado “(o que é estranho):

  ["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" 

Então eu tentei isso de forma antiquada por uma instrução SQL personalizada:

 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' ); ?> 

E tataaaa! Recebo meu primeiro arquivo de áudio.

Eu sei que há perguntas semelhantes:

  • Partido? WP_Query e “attachment” como tipo de publicação
  • WP_Query não funciona como esperado para anexos e meta_query personalizado

Mas nenhum deles me ajudou, apesar de tratarem do mesmo assunto.

O que estou faltando aqui? Por que o status não é reconhecido? Gostaria de usar WP_Query .

Resolvi: há meses atrás, adicionei algum post_status padrão à consulta no gancho de ação pre_get_posts . Oh cara! @Milo: Obrigado pela sua sugestão!

Solutions Collecting From Web of "Usando WP_Query para obter o anexo retorna o conjunto vazio"