Ich möchte 6 Posts abfragen, aber nur die, an die ein Bild angehängt ist. Ich verwende hierfür die meta_key
Methode mit WP_Query
:
$args = array(
'post_type' => 'post',
'meta_key' => '_thumbnail_id',
'post_count' => 6 );
$query = new WP_Query($args);
gefolgt von
<?php while($query->have_posts()) : $query->the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php the_post_thumbnail('thumbnail'); ?>
<?php endwhile; ?>
Das scheint nicht zu funktionieren. Die Abfrage gibt mehr als 6 Beiträge zurück und auch solche, die kein spezielles Bild haben. Irgendwelche Ideen, was ich hier falsch gemacht habe?
@chip: var_dump($query);
gibt ein großes Ergebnis, also habe ich es in einem Pastebin gepostet
wp-query
post-thumbnails
harryg
quelle
quelle
var_dump( $query )
duAntworten:
Wenn Sie den Importer ausführen, müssen Sie das Kontrollkästchen aktivieren, um alle Medien / Anhänge herunterzuladen und zu importieren.
Wenn Sie dies nicht tun, wird für die Posts weiterhin ein Bildsatz mit Features angezeigt. Der Anhang, auf den sie verweisen, ist jedoch ungültig, und jeder Anrufversuch
the_post_thumbnail
schlägt fehl. Wenn Sie Ihren Code verwenden, erhalten Sie nur den Post-Titel und kein Thumbnail. Dies würde den Eindruck erwecken, als würden Posts ohne ein spezielles Bild eingezogen. Dies ist nicht der Fall, sie haben ein spezielles Bild, es ist nur aufgrund des Fehlers, den Sie beim Importieren gemacht haben, nicht verfügbar.Löschen Sie Ihre Beiträge und importieren Sie sie erneut mit den richtigen Einstellungen.
Um den Punkt zu demonstrieren, haben Sie nicht versucht, die Posts tatsächlich zu überprüfen. Überprüfen Sie immer zB:
Wenn Sie das Kontrollkästchen nicht aktiviert haben, werden Bilder mit dem Hinweis angezeigt, dass es sich um ein ausgewähltes Bild handelt, es wird jedoch kein Bild angezeigt
quelle
the_post_thumbnail
einenhas_thumbnail
Anruf tätigen und einen weiteren Fall hinzufügen, sodass Sie zweifelsohne wissen, dass der Beitrag kein spezielles Bild enthältAb Wordpress 3.5, die Meta - Suchparameter Unterstützung
EXISTS
undNOT EXISTS
als Vergleichsoperatoren. In dem Fall, in dem Sie diese verwenden, können Sie das weglassenvalue
Teil der Meta-Abfrage . Versuchen Sie die folgenden Argumente für Ihre Abfrage:quelle
NOT EXISTS
verwendet wird.