Comment puis-je montrer le poste miniature de la plus récente d'un certain type de poste, dans un widget?
-
16-10-2019 - |
Question
J'utilise l'excellent PHP code Widget plug-in , et le manque pour créer un widget qui affiche la vignette post (image aka sélectionnée) pour le dernier « projet » après. Voici le code que j'ai jusqu'à présent, mais il ne produit pas le résultat souhaité. Rien en fait des sorties.
<?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
}
Toutes les suggestions sur ce que je dois changer pour que cela fonctionne?
La solution
Déplacement ici si les commentaires ne se transforment pas en désordre.
En fait il y a deux choses qui peuvent mal tourner ici:
-
des postes semblables dans. Vérifier que
$thumbnails
correct et obtient après une seule. Je ne sais pas si cela est le problème, maisget_posts()
docs liste argumentnumberposts
au lieu deposts_per_page
répertorié pourquery_posts()
. Cela pourrait faire une différence. -
Messing avec des variables globales. Pour cet usage, je ne toucherais pas
$post
mondiale du tout, directement ou avecsetup_postdata()
soit. Il suffit d'utiliser les versions non-boucle de fonctions qui peuvent aller chercher des choses dont vous avez besoin par id poste -get_permalink()
et < a href = "http://codex.wordpress.org/Function_Reference/get_the_post_thumbnail" rel = "nofollow">get_the_post_thumbnail()
.