Abfrage von Posts nur mit vorgestellten Bildern

Ich möchte 6 Beiträge abfragen, aber nur solche, denen ein spezielles Bild angehängt ist. Ich verwende meta_key Methode dafür mit WP_Query als solche:

 $args = array( 'post_type' => 'post', 'meta_key' => '_thumbnail_id', 'post_count' => 6 ); $query = new WP_Query($args); 

gefolgt von

 have_posts()) : $query->the_post(); ?> 

Das scheint nicht zu funktionieren. Die Abfrage gibt mehr als 6 Posts zurück und auch solche, die kein vordefiniertes Bild haben. Irgendwelche Ideen, woran ich hier falsch liege?

@ Chip: var_dump($query); gibt ein großes Ergebnis, also habe ich es in einem Pastebin gepostet

Solutions Collecting From Web of "Abfrage von Posts nur mit vorgestellten Bildern"

Wenn Sie das Importprogramm ausführen, müssen Sie das Kontrollkästchen aktivieren, um alle Medien / Anhänge herunterzuladen und zu importieren.

Wenn Sie dies nicht tun, haben die Posts immer noch ein the_post_thumbnail , aber der Anhang, auf den sie verweisen, ist ungültig, und jeder Versuch, the_post_thumbnail aufzurufen, the_post_thumbnail fehl. Mit Ihrem Code erhalten Sie nur den Posttitel und keine Miniaturansicht. Dies würde den Eindruck erwecken, dass Posts, die kein Vorstellungsbild haben, eingezogen werden. Das ist nicht der Fall, sie haben ein vordefiniertes Bild, es ist einfach nicht verfügbar wegen des Fehlers, den Sie beim Importieren gemacht haben.

Löschen Sie Ihre Posts und importieren Sie sie erneut mit den richtigen Einstellungen.

Um den Punkt zu demonstrieren, hast du auch nicht versucht, die Beiträge zu überprüfen, z.

 if ( $query->have_posts() ) { // you never checked to see if no posts were found while($query->have_posts()) { // alt style syntax doesn't work with most IDEs $query->the_post(); // individual statement should be on individual line ?>

< ?php the_title(); ?>

< ?php // you only need open/close tags here, not every line, save yourself some time typing if ( has_post_thumbnail() ) { // only print out the thumbnail if it actually has one echo '

post says it has a featured image'; // double checking the_post_thumbnail('thumbnail'); } else { echo '

this post does not have a featured image

'; } } } else { echo '

no posts found

'; }

Wenn Sie das Kontrollkästchen nicht aktiviert haben, erhalten Sie Bilder, die sagen, dass sie ein vordefiniertes Bild haben, aber kein Bild angezeigt wird

Ab WordPress 3.5 unterstützen die Meta- EXISTS und NOT EXISTS als Vergleichsoperatoren. In dem Fall, in dem Sie diese verwenden, können Sie den Wertteil der Meta-Abfrage weglassen. Probieren Sie die folgenden Argumente für Ihre Abfrage aus:

 $args = array( 'post_type' => 'post', 'posts_per_page' => 6, 'meta_query' => array( array( 'key' => '_thumbnail_id', 'compare' => 'EXISTS' ), ) );