J'utilise l'excellent plugin PHP Code Widget , et je veux créer un widget qui affiche la vignette de la publication (c'est-à-dire l'image sélectionnée) pour la plus récente. ' projet 'post. Voici le code que j'ai jusqu'à présent, mais il ne produit pas le résultat souhaité. Cela ne produit en réalité rien.
<?php
global $post;
$args = array(
'post_type' => 'project',
'posts_per_page' => 1,
);
$thumbnails = get_posts($args);
foreach ($thumbnails as $post)
{
setup_postdata($post);
?>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail( 'thumbnail' ); ?></a>
<?php
}
Des suggestions sur ce que je dois changer pour que cela fonctionne?
S'installer ici pour que les commentaires ne se transforment pas en désordre.
En gros, il y a deux choses qui peuvent aller mal ici:
Récupération des messages. Vérifiez que $thumbnails
obtient le post correct et un seul. Je ne suis pas sûr que ce soit le problème, mais get_posts()
docs list l'argument numberposts
au lieu de posts_per_page
qui est répertorié pour query_posts()
. Cela pourrait faire une différence.
Jouer avec les variables globales. Pour cet usage, je ne toucherais pas du tout au $post
global, ni directement ni avec setup_postdata()
. Utilisez simplement des versions non-bouclées de fonctions pouvant extraire tout ce dont vous avez besoin par post id - get_permalink()
et get_the_post_thumbnail()
.