Je souhaite interroger 6 messages, mais uniquement ceux qui ont une image sélectionnée attachée. J'utilise la meta_key
méthode pour cela avec WP_Query
comme tel:
$args = array(
'post_type' => 'post',
'meta_key' => '_thumbnail_id',
'post_count' => 6 );
$query = new WP_Query($args);
Suivi par
<?php while($query->have_posts()) : $query->the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php the_post_thumbnail('thumbnail'); ?>
<?php endwhile; ?>
Cela ne semble pas fonctionner. La requête renvoie plus de 6 messages et également ceux qui n'ont pas d'image en vedette. Des idées sur ce que je me trompe ici?
@chip: var_dump($query);
donne un grand résultat donc je l'ai posté dans une boîte à pâte
wp-query
post-thumbnails
Harry
la source
la source
var_dump( $query )
?Réponses:
Lorsque vous exécutez l'importateur, vous devez cocher la case pour télécharger et importer tous les supports / pièces jointes.
Si vous ne le faites pas, les articles auront toujours un ensemble d'images en vedette, mais la pièce jointe à laquelle ils se réfèrent sera invalide et toute tentative d'appel
the_post_thumbnail
échouera. En utilisant votre code, vous obtiendrez uniquement le titre du message et pas de miniature. Cela donnerait l'impression que des publications qui n'ont pas d'image sélectionnée sont récupérées. Ce n'est pas le cas, elles ont une image sélectionnée, elle n'est tout simplement pas disponible en raison de l'erreur que vous avez commise lors de l'importation.Supprimez vos messages et réimportez en utilisant les paramètres corrects.
Aussi pour démontrer le point, vous n'avez fait aucune tentative de vérifier réellement les messages, vérifiez toujours par exemple:
Si vous n'avez pas coché la case, vous obtiendrez des images indiquant qu'elles ont une image sélectionnée, mais aucune image ne s'affiche
la source
the_post_thumbnail
avec unhas_thumbnail
appel et ajoutez un cas else pour que vous sachiez sans ambiguïté que le message n'a pas d'image en vedetteDepuis WordPress 3.5, les paramètres Meta Query prennent en charge
EXISTS
etNOT EXISTS
comparent les opérateurs. Dans le cas où vous les utilisez, vous pouvez omettre lavalue
partie de la méta-requête. Essayez les arguments suivants pour votre requête:la source
NOT EXISTS
est utilisé.